Skip to main content

Deserialization of Untrusted Data

CVE-2026-40860

Severity High
Score 9.8/10

Summary

Apache Camel contains a deserialization vulnerability in "JmsBinding.extractBodyFromJms()" in "camel-jms" and the equivalent "JmsBinding" class in "camel-sjms". The application deserializes incoming "ObjectMessage" payloads using "javax.jms.ObjectMessage.getObject()" without applying an "ObjectInputFilter" or any class allowlist or denylist. When the "mapJmsMessage" option is enabled, which is the default, and Camel acts as a JMS consumer, an attacker who can publish a crafted "ObjectMessage" to a queue or topic may achieve Remote Code Execution (RCE) if a suitable deserialization gadget chain is present on the classpath. This behavior also affects related components such as "camel-sjms2", "camel-amqp", "camel-activemq", and "camel-activemq6". This issue affects Apache Camel versions 3.0.0 through 4.14.6, 4.15.0 through 4.18.1, and 4.19.0 through 4.19.x prior to 4.20.0. Users should upgrade to version 4.20.0, or to version 4.14.7 for the 4.14.x LTS stream, or version 4.18.2 for the 4.18.x stream.

  • LOW
  • NETWORK
  • HIGH
  • UNCHANGED
  • NONE
  • NONE
  • HIGH
  • HIGH

CWE-502 - Deserialization of Untrusted Data

Deserialization of untrusted data vulnerabilities enable an attacker to replace or manipulate a serialized object, replacing it with malicious data. When the object is deserialized at the victim's end the malicious data is able to compromise the victim’s system. The exploit can be devastating, its impact may range from privilege escalation, broken access control, or denial of service attacks to allowing unauthorized access to the application's internal code and logic which can compromise the entire system.

Advisory Timeline

  • Published