CVE-2026-40860: Apache camel-jms, camel-sjms, camel-sjms2 and camel-amqp: Unsafe Deserialization of JMS ObjectMessage
JmsBinding.extractBodyFromJms() in camel-jms, and the equivalent JmsBinding class in camel-sjms, deserialized the payload of incoming JMS ObjectMessage values via javax.jms.ObjectMessage.getObject() without applying any ObjectInputFilter, class allowlist or class denylist.
Published Apr 27, 2026 · Updated Aug 26, 2026
Affected packages
org.apache.camel:camel-jms
- Ecosystem
- Maven
- Affected
- >= 3.0.0, < 4.14.7
- Fixed in
- 4.14.7
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-jms
org.apache.camel:camel-jms
- Ecosystem
- Maven
- Affected
- >= 4.15.0, < 4.18.2
- Fixed in
- 4.18.2
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-jms
org.apache.camel:camel-jms
- Ecosystem
- Maven
- Affected
- >= 4.19.0, < 4.20.0
- Fixed in
- 4.20.0
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-jms
org.apache.camel:camel-sjms
- Ecosystem
- Maven
- Affected
- >= 3.0.0, < 4.14.7
- Fixed in
- 4.14.7
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-sjms
org.apache.camel:camel-sjms
- Ecosystem
- Maven
- Affected
- >= 4.15.0, < 4.18.2
- Fixed in
- 4.18.2
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-sjms
org.apache.camel:camel-sjms
- Ecosystem
- Maven
- Affected
- >= 4.19.0, < 4.20.0
- Fixed in
- 4.20.0
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-sjms
org.apache.camel:camel-sjms2
- Ecosystem
- Maven
- Affected
- >= 3.0.0, < 4.14.7
- Fixed in
- 4.14.7
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-sjms2
org.apache.camel:camel-sjms2
- Ecosystem
- Maven
- Affected
- >= 4.15.0, < 4.18.2
- Fixed in
- 4.18.2
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-sjms2
org.apache.camel:camel-sjms2
- Ecosystem
- Maven
- Affected
- >= 4.19.0, < 4.20.0
- Fixed in
- 4.20.0
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-sjms2
org.apache.camel:camel-amqp
- Ecosystem
- Maven
- Affected
- >= 3.0.0, < 4.14.7
- Fixed in
- 4.14.7
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-amqp
org.apache.camel:camel-amqp
- Ecosystem
- Maven
- Affected
- >= 4.15.0, < 4.18.2
- Fixed in
- 4.18.2
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-amqp
org.apache.camel:camel-amqp
- Ecosystem
- Maven
- Affected
- >= 4.19.0, < 4.20.0
- Fixed in
- 4.20.0
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-amqp
org.apache.camel:camel-activemq
- Ecosystem
- Maven
- Affected
- >= 3.0.0, < 4.14.7
- Fixed in
- 4.14.7
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-activemq
org.apache.camel:camel-activemq
- Ecosystem
- Maven
- Affected
- >= 4.15.0, < 4.18.2
- Fixed in
- 4.18.2
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-activemq
org.apache.camel:camel-activemq
- Ecosystem
- Maven
- Affected
- >= 4.19.0, < 4.20.0
- Fixed in
- 4.20.0
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-activemq
org.apache.camel:camel-activemq6
- Ecosystem
- Maven
- Affected
- >= 3.0.0, < 4.14.7
- Fixed in
- 4.14.7
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-activemq6
org.apache.camel:camel-activemq6
- Ecosystem
- Maven
- Affected
- >= 4.15.0, < 4.18.2
- Fixed in
- 4.18.2
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-activemq6
org.apache.camel:camel-activemq6
- Ecosystem
- Maven
- Affected
- >= 4.19.0, < 4.20.0
- Fixed in
- 4.20.0
- Check
mvn dependency:tree -Dincludes=org.apache.camel:camel-activemq6
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
JmsBinding.extractBodyFromJms() in camel-jms, and the equivalent JmsBinding class in camel-sjms, deserialized the payload of incoming JMS ObjectMessage values via javax.jms.ObjectMessage.getObject() without applying any ObjectInputFilter, class allowlist or class denylist. Because this code path is reached whenever the mapJmsMessage option is enabled (the default) and Camel acts as a JMS consumer, an attacker able to publish a crafted ObjectMessage to a queue or topic consumed by a Camel application could achieve remote code execution when a deserialization gadget chain was present on the classpath. The same handling was reached transitively through camel-sjms2 (whose Sjms2Endpoint extends SjmsEndpoint) and through camel-amqp (whose AMQPJmsBinding extends JmsBinding), and by other JMS-family components built on JmsComponent such as camel-activemq and camel-activemq6.
This issue affects Apache Camel: from 3.0.0 before 4.14.7, from 4.15.0 before 4.18.2, from 4.19.0 before 4.20.0.
Users are recommended to upgrade to version 4.20.0, which fixes the issue. If users are on the 4.14.x LTS releases stream, then they are suggested to upgrade to 4.14.7. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.2.
Credited to oscerd.
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-40860
- https://camel.apache.org/security/CVE-2026-40860.html
- https://access.redhat.com/errata/RHSA-2026:17668
- https://access.redhat.com/errata/RHSA-2026:22453
- https://access.redhat.com/security/cve/CVE-2026-40860
- https://bugzilla.redhat.com/show_bug.cgi?id=2463172
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-40860.json
- https://github.com/apache/camel/pull/22598
- https://github.com/apache/camel/pull/22603
- https://github.com/apache/camel/pull/22604
- https://github.com/apache/camel/pull/22639
- https://github.com/apache/camel/commit/0c06142c46a1422b6b49fab784a1087c50e48ee8
- https://github.com/apache/camel/commit/107e8c279cf9bf488843e33fb6333cc2d7f37c67
- https://github.com/apache/camel/commit/6a82709f0fc5431f46d2939547aacd2c7395c97a
- https://issues.apache.org/jira/browse/CAMEL-23321
- https://github.com/apache/camel/releases/tag/camel-4.20.0
- https://github.com/apache/camel/releases/tag/camel-4.18.2
- https://github.com/apache/camel/releases/tag/camel-4.14.7
- https://github.com/advisories/GHSA-m5vh-3fw5-5wgh
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
