Deserialization of untrusted data in Artemis - CVE-2016-4978
Published: May 21, 2018
Vulnerability identifier: #VU12898
CSH Severity: High
CVSS v4: 8.6 [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]
CVE-ID: CVE-2016-4978
CWE-ID: CWE-502
Exploitation vector: Remote access
Exploit availability:
No public exploit available
Vulnerability details
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.
Affected software
Artemis
JBoss Enterprise Application Platform
JBoss Enterprise Application Platform
How to mitigate CVE-2016-4978
Update to version 1.4.0.