CVE-2026-40860
Apache Camel: Unsafe Deserialization of JMS ObjectMessage in camel-jms, camel-sjms, camel-sjms2 and camel-amqp
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
9.8
Apache Camel: Unsafe Deserialization of JMS ObjectMessage in camel-jms, camel-sjms, camel-sjms2 and camel-amqp
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.
- Record
CVE-2026-40860- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-502, CWE-502
- Updated
- 2026-11-02
EUVDEUVD-2026-25794
9.8
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.
- Record
EUVD-2026-25794- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-m5vh-3fw5-5wgh
9.8
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. 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.
- Record
GHSA-m5vh-3fw5-5wgh- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-502
- Updated
- 2026-11-02
NVD
9.8
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.
- Record
CVE-2026-40860- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-502
- Updated
- 2026-11-02
OSV
9.8
Apache Camel: Unsafe Deserialization of JMS ObjectMessage in camel-jms, camel-sjms, camel-sjms2 and camel-amqp
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.
- Record
CVE-2026-40860- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-502
- Updated
- 2026-11-02
OSVGHSA-m5vh-3fw5-5wgh
9.8
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. 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.
- Record
GHSA-m5vh-3fw5-5wgh- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-502
- Updated
- 2026-11-02
Affected products
- apache camel
- apache software foundation camel
- red hat build of apache camel 4 for quarkus 3
- red hat build of apache camel 4.18 for quarkus 3.33
- red hat build of apache camel 4.18.1 for spring boot 3.5.14
- red hat fuse 7
- red hat jboss enterprise application platform 8
- red hat jboss enterprise application platform expansion pack
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.apache.camel:camel-jmsMaven |
3.0.0 up to 4.14.7 | 4.14.7 |
org.apache.camel:camel-jmsMaven |
4.15.0 up to 4.18.2 | 4.18.2 |
org.apache.camel:camel-jmsMaven |
4.19.0 up to 4.20.0 | 4.20.0 |
org.apache.camel:camel-sjmsMaven |
3.0.0 up to 4.14.7 | 4.14.7 |
org.apache.camel:camel-sjmsMaven |
4.15.0 up to 4.18.2 | 4.18.2 |
org.apache.camel:camel-sjmsMaven |
4.19.0 up to 4.20.0 | 4.20.0 |
org.apache.camel:camel-sjms2Maven |
3.0.0 up to 4.14.7 | 4.14.7 |
org.apache.camel:camel-sjms2Maven |
4.15.0 up to 4.18.2 | 4.18.2 |
org.apache.camel:camel-sjms2Maven |
4.19.0 up to 4.20.0 | 4.20.0 |
org.apache.camel:camel-amqpMaven |
3.0.0 up to 4.14.7 | 4.14.7 |
Show 20 moreShow less
| Package | Affected | Fixed |
|---|---|---|
org.apache.camel:camel-amqpMaven |
4.15.0 up to 4.18.2 | 4.18.2 |
org.apache.camel:camel-amqpMaven |
4.19.0 up to 4.20.0 | 4.20.0 |
org.apache.camel:camel-activemqMaven |
3.0.0 up to 4.14.7 | 4.14.7 |
org.apache.camel:camel-activemqMaven |
4.15.0 up to 4.18.2 | 4.18.2 |
org.apache.camel:camel-activemqMaven |
4.19.0 up to 4.20.0 | 4.20.0 |
org.apache.camel:camel-activemq6Maven |
3.0.0 up to 4.14.7 | 4.14.7 |
org.apache.camel:camel-activemq6Maven |
4.15.0 up to 4.18.2 | 4.18.2 |
org.apache.camel:camel-activemq6Maven |
4.19.0 up to 4.20.0 | 4.20.0 |
org.apache.camel:camel-jmsMaven |
3.0.0 up to 4.14.7, plus listed versions 3.0.13.1.03.10.03.11.03.11.1 Show 45 moreShow less3.11.23.11.33.11.43.11.53.11.63.11.73.12.03.13.03.14.03.14.13.14.103.14.23.14.33.14.43.14.53.14.63.14.73.14.83.14.93.15.03.16.03.17.03.18.03.18.13.18.23.18.33.18.43.18.53.18.63.18.73.18.83.19.03.2.03.20.03.20.13.20.23.20.33.20.43.20.53.20.63.20.73.20.83.20.93.21.03.21.1 |
4.14.7 |
org.apache.camel:camel-jmsMaven |
4.15.0 up to 4.18.2, plus listed versions 4.16.04.17.04.18.04.18.1 |
4.18.2 |
org.apache.camel:camel-sjmsMaven |
3.0.0 up to 4.14.7, plus listed versions 3.0.13.1.03.10.03.11.03.11.1 Show 45 moreShow less3.11.23.11.33.11.43.11.53.11.63.11.73.12.03.13.03.14.03.14.13.14.103.14.23.14.33.14.43.14.53.14.63.14.73.14.83.14.93.15.03.16.03.17.03.18.03.18.13.18.23.18.33.18.43.18.53.18.63.18.73.18.83.19.03.2.03.20.03.20.13.20.23.20.33.20.43.20.53.20.63.20.73.20.83.20.93.21.03.21.1 |
4.14.7 |
org.apache.camel:camel-sjmsMaven |
4.15.0 up to 4.18.2, plus listed versions 4.16.04.17.04.18.04.18.1 |
4.18.2 |
org.apache.camel:camel-sjms2Maven |
3.0.0 up to 4.14.7, plus listed versions 3.0.13.1.03.10.03.11.03.11.1 Show 45 moreShow less3.11.23.11.33.11.43.11.53.11.63.11.73.12.03.13.03.14.03.14.13.14.103.14.23.14.33.14.43.14.53.14.63.14.73.14.83.14.93.15.03.16.03.17.03.18.03.18.13.18.23.18.33.18.43.18.53.18.63.18.73.18.83.19.03.2.03.20.03.20.13.20.23.20.33.20.43.20.53.20.63.20.73.20.83.20.93.21.03.21.1 |
4.14.7 |
org.apache.camel:camel-sjms2Maven |
4.15.0 up to 4.18.2, plus listed versions 4.16.04.17.04.18.04.18.1 |
4.18.2 |
org.apache.camel:camel-amqpMaven |
3.0.0 up to 4.14.7, plus listed versions 3.0.13.1.03.10.03.11.03.11.1 Show 45 moreShow less3.11.23.11.33.11.43.11.53.11.63.11.73.12.03.13.03.14.03.14.13.14.103.14.23.14.33.14.43.14.53.14.63.14.73.14.83.14.93.15.03.16.03.17.03.18.03.18.13.18.23.18.33.18.43.18.53.18.63.18.73.18.83.19.03.2.03.20.03.20.13.20.23.20.33.20.43.20.53.20.63.20.73.20.83.20.93.21.03.21.1 |
4.14.7 |
org.apache.camel:camel-amqpMaven |
4.15.0 up to 4.18.2, plus listed versions 4.16.04.17.04.18.04.18.1 |
4.18.2 |
org.apache.camel:camel-activemqMaven |
3.0.0 up to 4.14.7, plus listed versions 3.0.13.1.03.10.03.11.03.11.1 Show 45 moreShow less3.11.23.11.33.11.43.11.53.11.63.11.73.12.03.13.03.14.03.14.13.14.103.14.23.14.33.14.43.14.53.14.63.14.73.14.83.14.93.15.03.16.03.17.03.18.03.18.13.18.23.18.33.18.43.18.53.18.63.18.73.18.83.19.03.2.03.20.03.20.13.20.23.20.33.20.43.20.53.20.63.20.73.20.83.20.93.21.03.21.1 |
4.14.7 |
org.apache.camel:camel-activemqMaven |
4.15.0 up to 4.18.2, plus listed versions 4.16.04.17.04.18.04.18.1 |
4.18.2 |
org.apache.camel:camel-activemq6Maven |
3.0.0 up to 4.14.7, plus listed versions 4.10.04.10.14.10.24.10.34.10.4 Show 27 moreShow less4.10.54.10.64.10.74.10.84.10.94.11.04.12.04.13.04.14.04.14.14.14.24.14.34.14.44.14.54.14.64.7.04.8.04.8.14.8.24.8.34.8.44.8.54.8.64.8.74.8.84.8.94.9.0 |
4.14.7 |
org.apache.camel:camel-activemq6Maven |
4.15.0 up to 4.18.2, plus listed versions 4.16.04.17.04.18.04.18.1 |
4.18.2 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | oscerd/CVE-2026-40860 | 2026-07-10 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-40860 is a critical vulnerability (CVSS 9.8) in Apache Camel, published April 27, 2026. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 1.74%, the 77th percentile. Fixed in org.apache.camel:camel-jms 4.14.7.
References
camel.apache.org/security/CVE-2026-40860.html
openwall.com/lists/oss-security/2026/04/26/10
access.redhat.com/security/cve/CVE-2026-40860
bugzilla.redhat.com/show_bug.cgi?id=2463172
security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-40860.json
access.redhat.com/errata/RHSA-2026:22453
Show 17 moreShow less
access.redhat.com/errata/RHSA-2026:17668
nvd.nist.gov/vuln/detail/CVE-2026-40860
github.com/apache/camel/pull/22598
github.com/apache/camel/pull/22603
github.com/apache/camel/pull/22604
github.com/apache/camel/pull/22639
github.com/apache/camel/commit/0c06142c46a1422b6b49fab784a1087c50e48ee8
github.com/apache/camel/commit/107e8c279cf9bf488843e33fb6333cc2d7f37c67
github.com/apache/camel/commit/6a82709f0fc5431f46d2939547aacd2c7395c97a
issues.apache.org/jira/browse/CAMEL-23321
github.com/apache/camel/releases/tag/camel-4.20.0
github.com/apache/camel/releases/tag/camel-4.18.2
github.com/apache/camel/releases/tag/camel-4.14.7
github.com/advisories/GHSA-m5vh-3fw5-5wgh
repo.maven.apache.org/maven2
github.com/CVEProject/cvelistV5/tree/main/cves/2026/40xxx/CVE-2026-40860.json
github.com/apache/camel
Left out here: 417 versions. The JSON record has them.