CVE-2018-19362 - Deserialization of Untrusted Data

Severity

75%

Complexity

99%

Confidentiality

106%

FasterXML jackson-databind 2.x before 2.9.8 might allow attackers to have unspecified impact by leveraging failure to block the jboss-common-core class from polymorphic deserialization.

FasterXML jackson-databind 2.x before 2.9.8 might allow attackers to have unspecified impact by leveraging failure to block the jboss-common-core class from polymorphic deserialization.

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

2019-01-02 18:29:00

Last updated 5 years ago

2019-09-17 17:15:00

Affected Software

Debian Linux 8.0 (Jessie)

8.0

Oracle Business Process Management Suite 12.1.3.0.0

12.1.3.0.0

Oracle Business Process Management Suite 12.2.1.3.0

12.2.1.3.0

Oracle Primavera P6 Enterprise Project Portfolio Management

Oracle Primavera P6 Enterprise Project Portfolio Management 18.8

18.8

Oracle Primavera Unifier 16.1

16.1

Oracle Primavera Unifier 16.2

16.2

Oracle Primavera Unifier 18.8

18.8

Oracle Retail Workforce Management Software 1.60.9.0.0

1.60.9.0.0

Oracle WebCenter Portal 12.2.1.3.0

12.2.1.3.0

Red Hat Automation Manager 7.3.1

7.3.1

Red Hat Decision Manager 7.3.1

7.3.1

Red Hat JBoss BPM Suite 6.4.11

6.4.11

Red Hat JBoss BRMS 6.4.10

6.4.10

Red Hat OpenShift Container Platform 3.11

3.11

References

107985

Third Party Advisory, VDB Entry

RHBA-2019:0959

Third Party Advisory

RHSA-2019:0782

Third Party Advisory

RHSA-2019:0877

Third Party Advisory

RHSA-2019:1782

Third Party Advisory

RHSA-2019:1797

Third Party Advisory

RHSA-2019:1822

Third Party Advisory

RHSA-2019:1823

Third Party Advisory

RHSA-2019:2804

RHSA-2019:2858

RHSA-2019:3002

RHSA-2019:3140

RHSA-2019:3149

RHSA-2019:3892

RHSA-2019:4037

https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.8

Patch, Release Notes, Third Party Advisory

https://github.com/FasterXML/jackson-databind/commit/42912cac4753f3f718ece875e4d486f8264c2f2b

Patch, Third Party Advisory

https://github.com/FasterXML/jackson-databind/issues/2186

Issue Tracking, Patch, Third Party Advisory

https://issues.apache.org/jira/browse/TINKERPOP-2121

Issue Tracking, Third Party Advisory

[infra-devnull] 20190329 [GitHub] [pulsar] massakam opened pull request #3938: Upgrade third party libraries with security vulnerabilities

Mailing List, Patch, Third Party Advisory

[drill-dev] 20191021 [jira] [Created] (DRILL-7416) Updates required to dependencies to resolve potential security vulnerabilities

[drill-dev] 20191017 Dependencies used by Drill contain known vulnerabilities

[nifi-commits] 20191113 svn commit: r1869773 - /nifi/site/trunk/security.html

[pulsar-commits] 20190329 [GitHub] [pulsar] massakam opened a new pull request #3938: Upgrade third party libraries with security vulnerabilities

Mailing List, Patch, Third Party Advisory

[drill-issues] 20191021 [jira] [Created] (DRILL-7416) Updates required to dependencies to resolve potential security vulnerabilities

[pulsar-commits] 20190416 [GitHub] [pulsar] one70six opened a new issue #4057: Security Vulnerabilities - Black Duck Scan - Pulsar v.2.3.1

Third Party Advisory

[nifi-commits] 20200123 svn commit: r1873083 - /nifi/site/trunk/security.html

[debian-lts-announce] 20190304 [SECURITY] [DLA 1703-1] jackson-databind security update

Mailing List, Third Party Advisory

20190527 [SECURITY] [DSA 4452-1] jackson-databind security update

Mailing List, Third Party Advisory

https://security.netapp.com/advisory/ntap-20190530-0003/

Third Party Advisory

DSA-4452

Third Party Advisory

N/A

https://www.oracle.com/security-alerts/cpujan2020.html

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

Patch, Third Party Advisory

https://www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.html

Patch, Third Party Advisory

https://www.oracle.com/technetwork/security-advisory/cpuoct2019-5072832.html

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.