CVE-2018-8088 - Deserialization of Untrusted Data

Severity

75%

Complexity

99%

Confidentiality

106%

org.slf4j.ext.EventData in the slf4j-ext module in QOS.CH SLF4J before 1.8.0-beta2 allows remote attackers to bypass intended access restrictions via crafted data.

org.slf4j.ext.EventData in the slf4j-ext module in QOS.CH SLF4J before 1.8.0-beta2 allows remote attackers to bypass intended access restrictions via crafted data.

CVSS 3.0 Base Score 9.8. CVSS Attack Vector: network. CVSS Attack Complexity: low. CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H).

CVSS 2.0 Base Score 7.5. CVSS Attack Vector: network. CVSS Attack Complexity: low. CVSS Vector: (AV:N/AC:L/Au:N/C:P/I:P/A:P).

Demo Examples

Deserialization of Untrusted Data

CWE-502

This code snippet deserializes an object from a file and uses it as a UI button:


               
}
in.close();

This code does not attempt to verify the source or contents of the file before deserializing it. An attacker may be able to replace the intended file with a file that contains arbitrary malicious code which will be executed when the button is pressed.

To mitigate this, explicitly define final readObject() to prevent deserialization. An example of this is:


               
throw new java.io.IOException("Cannot be deserialized"); }

Deserialization of Untrusted Data

CWE-502

In Python, the Pickle library handles the serialization and deserialization processes. In this example derived from [R.502.7], the code receives and parses data, and afterwards tries to authenticate a user based on validating a token.


               
}
raise AuthFail

Unfortunately, the code does not verify that the incoming data is legitimate. An attacker can construct a illegitimate, serialized object "AuthToken" that instantiates one of Python's subprocesses to execute arbitrary commands. For instance,the attacker could construct a pickle that leverages Python's subprocess module, which spawns new processes and includes a number of arguments for various uses. Since Pickle allows objects to define the process for how they should be unpickled, the attacker can direct the unpickle process to call Popen in the subprocess module and execute /bin/sh.

Overview

First reported 6 years ago

2018-03-20 16:29:00

Last updated 5 years ago

2019-08-08 13:15:00

Affected Software

SLF4J slf4j-ext 1.8.0 Alpha0

1.8.0

SLF4J slf4j-ext 1.8.0 Alpha1

1.8.0

SLF4J slf4j-ext 1.8.0 Alpha2

1.8.0

SLF4J slf4j-ext 1.8.0 Beta0

1.8.0

SLF4J slf4j-ext 1.8.0 Beta1

1.8.0

RedHat Enterprise Linux Desktop 7.0

7.0

RedHat Enterprise Linux Server 7.0

7.0

RedHat Enterprise Linux Workstation 7.0

7.0

Oracle Utilities Framework 4.2.0.2.0

4.2.0.2.0

Oracle Utilities Framework 4.2.0.3.0

4.2.0.3.0

Oracle Utilities Framework 4.3.0.2.0

4.3.0.2.0

Oracle Utilities Framework 4.3.0.3.0

4.3.0.3.0

Oracle Utilities Framework 4.3.0.4.0

4.3.0.4.0

Oracle Utilities Framework 4.3.0.5.0

4.3.0.5.0

Oracle Utilities Framework 4.3.0.6.0

4.3.0.6.0

Oracle Utilities Framework 4.4.0.0.0

4.4.0.0.0

References

103737

Third Party Advisory, VDB Entry

1040627

Third Party Advisory, VDB Entry

RHSA-2018:0582

Third Party Advisory

RHSA-2018:0592

Third Party Advisory

RHSA-2018:0627

Third Party Advisory

RHSA-2018:0628

Third Party Advisory

RHSA-2018:0629

Third Party Advisory

RHSA-2018:0630

Third Party Advisory

RHSA-2018:1247

Third Party Advisory

RHSA-2018:1248

Third Party Advisory

RHSA-2018:1249

Third Party Advisory

RHSA-2018:1251

Third Party Advisory

RHSA-2018:1323

Third Party Advisory

RHSA-2018:1447

Third Party Advisory

RHSA-2018:1448

Third Party Advisory

RHSA-2018:1449

Third Party Advisory

RHSA-2018:1450

Third Party Advisory

RHSA-2018:1451

Third Party Advisory

RHSA-2018:1525

Third Party Advisory

RHSA-2018:1575

Third Party Advisory

RHSA-2018:2143

Third Party Advisory

RHSA-2018:2419

Third Party Advisory

RHSA-2018:2420

Third Party Advisory

RHSA-2018:2669

Third Party Advisory

RHSA-2018:2930

Third Party Advisory

RHSA-2019:2413

RHSA-2019:3140

https://github.com/qos-ch/slf4j/commit/d2b27fba88e983f921558da27fc29b5f5d269405

Issue Tracking, Patch

https://jira.qos.ch/browse/SLF4J-430

Vendor Advisory

https://jira.qos.ch/browse/SLF4J-431

Issue Tracking, Vendor Advisory

[infra-devnull] 20190321 [GitHub] [tika] dadoonet opened pull request #268: Update slf4j to 1.8.0-beta4

Mailing List, Third Party Advisory

[infra-devnull] 20190321 [GitHub] [tika] grossws commented on issue #268: Update slf4j to 1.8.0-beta4

Mailing List, Third Party Advisory

https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html

Third Party Advisory

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.