Deserialization of untrusted data in Artemis - CVE-2016-4978
Published: May 21, 2018
Vulnerability identifier: #VU12898
CSH Severity: High
CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U/U:Amber
CVE-ID: CVE-2016-4978
CWE-ID: CWE-502
Exploitation vector: Remote access
Exploit availability:
No public exploit available
Vendor: Apache Foundation
Affected software:
Artemis
Artemis
Detailed vulnerability description
The vulnerability allows a remote authenticated attacker to execute arbitrary code on the target system.
The weakness exists in the getObject method of the javax.jms.ObjectMessage class in the (1) JMS Core client, (2) Artemis broker, and (3) Artemis REST component due to deserialization of untrusted data. A remote attacker with permission to send messages to the Artemis broker can deserialize arbitrary objects and execute arbitrary code by leveraging gadget classes being present on the Artemis classpath.
Successful exploitation of the vulnerability may result in system compromise.
The weakness exists in the getObject method of the javax.jms.ObjectMessage class in the (1) JMS Core client, (2) Artemis broker, and (3) Artemis REST component due to deserialization of untrusted data. A remote attacker with permission to send messages to the Artemis broker can deserialize arbitrary objects and execute arbitrary code by leveraging gadget classes being present on the Artemis classpath.
Successful exploitation of the vulnerability may result in system compromise.
How to mitigate CVE-2016-4978
Update to version 1.4.0.