CVE-2018-3615 - Exposure of Sensitive Information to an Unauthorized Actor

Severity

54%

Complexity

34%

Confidentiality

130%

Systems with microprocessors utilizing speculative execution and Intel software guard extensions (Intel SGX) may allow unauthorized disclosure of information residing in the L1 data cache from an enclave to an attacker with local user access via a side-channel analysis.

Systems with microprocessors utilizing speculative execution and Intel software guard extensions (Intel SGX) may allow unauthorized disclosure of information residing in the L1 data cache from an enclave to an attacker with local user access via a side-channel analysis.

CVSS 3.0 Base Score 6.4. CVSS Attack Vector: local. CVSS Attack Complexity: high. CVSS Vector: (CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:N).

CVSS 2.0 Base Score 5.4. CVSS Attack Vector: local. CVSS Attack Complexity: medium. CVSS Vector: (AV:L/AC:M/Au:N/C:C/I:P/A:N).

Demo Examples

Exposure of Sensitive Information to an Unauthorized Actor

CWE-200

The following code checks validity of the supplied username and password and notifies the user of a successful or failed login.


               
}
}
print "Login Successful";
print "Login Failed - incorrect password";
print "Login Failed - unknown username";

In the above code, there are different messages for when an incorrect username is supplied, versus when the username is correct but the password is wrong. This difference enables a potential attacker to understand the state of the login function, and could allow an attacker to discover a valid username by trying different values until the incorrect password message is returned. In essence, this makes it easier for an attacker to obtain half of the necessary authentication credentials.

While this type of information may be helpful to a user, it is also useful to a potential attacker. In the above example, the message for both failed cases should be the same, such as:


               
"Login Failed - incorrect username or password"

Exposure of Sensitive Information to an Unauthorized Actor

CWE-200

This code tries to open a database connection, and prints any exceptions that occur.


               
}
openDbConnection();
//print exception message that includes exception message and configuration file location
echo 'Check credentials in config file at: ', $Mysql_config_location, '\n';

If an exception occurs, the printed message exposes the location of the configuration file the script is using. An attacker can use this information to target the configuration file (perhaps exploiting a Path Traversal weakness). If the file can be read, the attacker could gain credentials for accessing the database. The attacker may also be able to replace the file with a malicious one, causing the application to use an arbitrary database.

Exposure of Sensitive Information to an Unauthorized Actor

CWE-200

In the example below, the method getUserBankAccount retrieves a bank account object from a database using the supplied username and account number to query the database. If an SQLException is raised when querying the database, an error message is created and output to a log file.


               
}
return userAccount;
}
userAccount = (BankAccount)queryResult.getObject(accountNumber);
Logger.getLogger(BankManager.class.getName()).log(Level.SEVERE, logMessage, ex);

The error message that is created includes information about the database query that may contain sensitive information about the database or query logic. In this case, the error message will expose the table name and column names used in the database. This data could be used to simplify other attacks, such as SQL injection (CWE-89) to directly access the database.

Exposure of Sensitive Information to an Unauthorized Actor

CWE-200

This code stores location information about the current user:


               
}...
Log.e("ExampleActivity", "Caught exception: " + e + " While on User:" + User.toString());

When the application encounters an exception it will write the user object to the log. Because the user object contains location information, the user's location is also written to the log.

Exposure of Sensitive Information to an Unauthorized Actor

CWE-200

The following is an actual MySQL error statement:


               
Warning: mysql_pconnect(): Access denied for user: 'root@localhost' (Using password: N1nj4) in /usr/local/www/wi-data/includes/database.inc on line 4

The error clearly exposes the database credentials.

Exposure of Sensitive Information to an Unauthorized Actor

CWE-200

This code displays some information on a web page.


               
Social Security Number: <%= ssn %></br>Credit Card Number: <%= ccn %>

The code displays a user's credit card and social security numbers, even though they aren't absolutely necessary.

Exposure of Sensitive Information to an Unauthorized Actor

CWE-200

The following program changes its behavior based on a debug flag.


               
} %>

The code writes sensitive debug information to the client browser if the "debugEnabled" flag is set to true .

Exposure of Sensitive Information to an Unauthorized Actor

CWE-200

This code uses location to determine the user's current US State location.

First the application must declare that it requires the ACCESS_FINE_LOCATION permission in the application's manifest.xml:


               
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

During execution, a call to getLastLocation() will return a location based on the application's location permissions. In this case the application has permission for the most accurate location possible:


               
deriveStateFromCoords(userCurrLocation);

While the application needs this information, it does not need to use the ACCESS_FINE_LOCATION permission, as the ACCESS_COARSE_LOCATION permission will be sufficient to identify which US state the user is in.

Overview

Type

Intel

First reported 6 years ago

2018-08-14 19:29:00

Last updated 4 years ago

2020-04-28 12:17:00

Affected Software

Intel Core I3 6006U

6006u

Intel Core I3 6098P

6098p

Intel Core I3 6100

6100

Intel Core I3 6100E

6100e

Intel Core I3 6100H

6100h

Intel Core I3 6100T

6100t

Intel Core I3 6100TE

6100te

Intel Core I3 6100U

6100u

Intel Core I3 6102E

6102e

Intel Core I3 6157U

6157u

Intel Core I3 6167U

6167u

Intel Core I3 6300

6300

Intel Core I3 6300T

6300t

Intel Core I3 6320

6320

Intel Core I5 650

650

Intel Core I5 655K

655k

Intel Core I5 660

660

Intel Core I5 661

661

Intel Core I5 670

670

Intel Core I5 680

680

Intel Core I5 6200U

6200u

Intel Core I5 6260U

6260u

Intel Core I5 6267U

6267u

Intel Core I5 6287U

6287u

Intel Core I5 6300HQ

6300hq

Intel Core I5 6300U

6300u

Intel Core I5 6350HQ

6350hq

Intel Core I5 6360U

6360u

Intel Core I5 6400

6400

Intel Core I5 6400T

6400t

Intel Core I5 6402P

6402p

Intel Core I5 6440EQ

6440eq

Intel Core I5 6440HQ

6440hq

Intel Core I5 6442EQ

6442eq

Intel Core I5 6500

6500

Intel Core I5 6500T

6500t

Intel Core I5 6500TE

6500te

Intel Core I5 6585R

6585r

Intel Core I5 6600

6600

Intel Core I5 6600K

6600k

Intel Core I5 6600T

6600t

Intel Core I5 6685R

6685r

Intel Core I7 610E

610e

Intel Core I7 620LE

620le

Intel Core I7 620LM

620lm

Intel Core I7 620M

620m

Intel Core I7 620UE

620ue

Intel Core I7 620UM

620um

Intel Core I7 640LM

640lm

Intel Core I7 640M

640m

Intel Core I7 640UM

640um

Intel Core I7 660LM

660lm

Intel Core I7 660UE

660ue

Intel Core I7 660UM

660um

Intel Core I7 680UM

680um

Intel Core I5 750

750

Intel Core I5 750S

750s

Intel Core I5 760

760

Intel Core I7 7Y75

7y75

Intel Core I7 720QM

720qm

Intel Core I7 740QM

740qm

Intel Core I7 7500U

7500u

Intel Core I7 7560U

7560u

Intel Core I7 7567U

7567u

Intel Core I7 7600U

7600u

Intel Core I7 7660U

7660u

Intel Core I7 7700

7700

Intel Core I7 7700HQ

7700hq

Intel Core I7 7700K

7700k

Intel Core I7 7700T

7700t

Intel Core I7 7820EQ

7820eq

Intel Core I7 7820HK

7820hk

Intel Core I7 7820HQ

7820hq

Intel Core I7 7920HQ

7920hq

Intel Core I3 8100

8100

Intel Core I3 8350K

8350k

Intel Core I5 8250U

8250u

Intel Core I5 8350U

8350u

Intel Core I5 8400

8400

Intel Core I5 8600K

8600k

Intel Core I7 820QM

820qm

Intel Core I7 840QM

840qm

Intel Core I7 860

860

Intel Core I7 860S

860s

Intel Core I7 870

870

Intel Core I7 870S

870s

Intel Core I7 875K

875k

Intel Core I7 880

880

Intel Core I7 8550U

8550u

Intel Core I7 8650U

8650u

Intel Core I7 8700

8700

Intel Core I7 8700K

8700k

Intel Xeon E3 1515M V5

1515m_v5

Intel Xeon E3 1535M V5

1535m_v5

Intel Xeon E3 1545M V5

1545m_v5

Intel Xeon E3 1558L V5

1558l_v5

Intel Xeon E3 1565L V5

1565l_v5

Intel Xeon E3 1575M V5

1575m_v5

Intel Xeon E3 1578L V5

1578l_v5

Intel Xeon E3 1585 V5

1585_v5

Intel Xeon E3 1585L V5

1585l_v5

Intel Xeon E3 1220 V5

Intel Xeon E3 1225 V5

Intel Xeon E3 1230 V5

Intel Xeon E3 1235L V5

Intel Xeon E3 1240 V5

Intel Xeon E3 1240l V5

Intel Xeon E3 1245 V5

Intel Xeon E3 1260L V5

Intel Xeon E3 1268L V5

Intel Xeon E3 1270 V5

Intel Xeon E3 1275 V5

Intel Xeon E3 1280 V5

Intel Xeon E3 1505L V5

Intel Xeon E3 1505M V5

Intel Xeon E3 1505M V6

1505m_v6

Intel Xeon E3 1535M V6

1535m_v6

Intel Xeon E3 1220 V6

Intel Xeon E3 1225 V6

Intel Xeon E3 1230 V6

Intel Xeon E3 1240 V6

Intel Xeon E3 1245 V6

Intel Xeon E3 1270 V6

Intel Xeon E3 1275 V6

Intel Xeon E3 1280 V6

Intel Xeon E3 1285 V6

Intel Xeon E3 1501L V6

Intel Xeon E3 1501M V6

Intel Xeon E3 1505L V6

Stay updated

ExploitPedia is constantly evolving. Sign up to receive a notification when we release additional functionality.

Get in touch

If you'd like to report a bug or have any suggestions for improvements then please do get in touch with us using this form. We will get back to you as soon as we can.