CVE-2016-4978 Apache ActiveMQ Artemis RCE Via Deserialization Gadget Chain

High 7.2 Published Updated

Remote authenticated users can execute arbitrary code via unsafe deserialization in Apache ActiveMQ Artemis message handling.

Exploited in the wild
Not known
Login needed
An administrator
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2016-4978?

CVE-2016-4978 is a high-severity unsafe deserialization vulnerability in Redhat Jboss Enterprise Application Platform, published on 27 Sep 2016. An attacker needs administrator access to exploit it, with no action from the victim.

Official description

The getObject method of the javax.jms.ObjectMessage class in the (1) JMS Core client, (2) Artemis broker, and (3) Artemis REST component in Apache ActiveMQ Artemis before 1.4.0 might allow remote authenticated users with permission to send messages to the Artemis broker to deserialize arbitrary objects and execute arbitrary code by leveraging gadget classes being present on the Artemis classpath.

Weakness: CWE-502

Which versions are affected by CVE-2016-4978?

2 open source packages ship an affected version, including org.apache.activemq:artemis-pom. It affects 2 products.

PackageAffectedFixed in
org.apache.activemq:artemis-pom MavenAll versions1.4.0
org.apache.activemq:artemis-pom MavenAll versions1.4.0

Products include Apache Artemis, Redhat Jboss Enterprise Application Platform.

How do I fix CVE-2016-4978?

Upgrade org.apache.activemq:artemis-pom to 1.4.0 or later.

Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.

Is CVE-2016-4978 being exploited?

There is no known exploitation of CVE-2016-4978 in the wild and no public exploit code.

All Redhat Jboss Enterprise Application Platform vulnerabilities

Sources

Also known as GHSA-r9vv-xj4w-g8m8.

Is CVE-2016-4978 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free