Security Digest · Vulnerability record
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.
CVSS 7.5 High EPSS 1.5% · p75
Should you act?
Normal patch cycle
No exploitation signal; fix it in your next routine update if you are affected. This signal is computed from CISA KEV, EPSS and CVSS data; it is not an editorial verdict.
- No confirmed exploitation. It is not in CISA’s KEV catalog and CISA’s SSVC assessment records no known exploitation. That can change quickly after a public write-up; re-check if you are affected.
- EPSS 1.5%, percentile 75: FIRST’s model estimates a 1.5% chance of exploitation activity in the next 30 days, higher than 75% of all scored CVEs (moderate). EPSS is a probability, not a verdict.
- Needs an account (low (any account)). Exposure depends on who can log in.
- Only applies if your dependency tree includes
org.apache.camel:camel-jms(Maven) >= 3.0.0, < 4.14.7, fixed in 4.14.7;org.apache.camel:camel-jms(Maven) >= 4.15.0, < 4.18.2, fixed in 4.18.2;org.apache.camel:camel-jms(Maven) >= 4.19.0, < 4.20.0, fixed in 4.20.0;org.apache.camel:camel-sjms(Maven) >= 3.0.0, < 4.14.7, fixed in 4.14.7. Check your lockfile, including transitive dependencies.
What it is
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.
From the GitHub advisory
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.
Weakness type: CWE-502.
Product: org.apache.camel:camel-jms (Maven) · Assigned by: apache · Published: 2026-04-27
Affected and fixed versions
| Ecosystem | Package | Vulnerable | First fixed |
|---|---|---|---|
| Maven | org.apache.camel:camel-jms | >= 3.0.0, < 4.14.7 | 4.14.7 |
| Maven | org.apache.camel:camel-jms | >= 4.15.0, < 4.18.2 | 4.18.2 |
| Maven | org.apache.camel:camel-jms | >= 4.19.0, < 4.20.0 | 4.20.0 |
| Maven | org.apache.camel:camel-sjms | >= 3.0.0, < 4.14.7 | 4.14.7 |
| Maven | org.apache.camel:camel-sjms | >= 4.15.0, < 4.18.2 | 4.18.2 |
| Maven | org.apache.camel:camel-sjms | >= 4.19.0, < 4.20.0 | 4.20.0 |
| Maven | org.apache.camel:camel-sjms2 | >= 3.0.0, < 4.14.7 | 4.14.7 |
| Maven | org.apache.camel:camel-sjms2 | >= 4.15.0, < 4.18.2 | 4.18.2 |
| Maven | org.apache.camel:camel-sjms2 | >= 4.19.0, < 4.20.0 | 4.20.0 |
| Maven | org.apache.camel:camel-amqp | >= 3.0.0, < 4.14.7 | 4.14.7 |
| Maven | org.apache.camel:camel-amqp | >= 4.15.0, < 4.18.2 | 4.18.2 |
| Maven | org.apache.camel:camel-amqp | >= 4.19.0, < 4.20.0 | 4.20.0 |
| Maven | org.apache.camel:camel-activemq | >= 3.0.0, < 4.14.7 | 4.14.7 |
| Maven | org.apache.camel:camel-activemq | >= 4.15.0, < 4.18.2 | 4.18.2 |
| Maven | org.apache.camel:camel-activemq | >= 4.19.0, < 4.20.0 | 4.20.0 |
| Maven | org.apache.camel:camel-activemq6 | >= 3.0.0, < 4.14.7 | 4.14.7 |
| Maven | org.apache.camel:camel-activemq6 | >= 4.15.0, < 4.18.2 | 4.18.2 |
| Maven | org.apache.camel:camel-activemq6 | >= 4.19.0, < 4.20.0 | 4.20.0 |
| Vendor | Product | Affected versions (per CVE record) |
|---|---|---|
| Apache Software Foundation | Apache Camel | 3.0.0 < 4.14.7, 4.15.0 < 4.18.2, 4.19.0 < 4.20.0 |
Severity scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| CISA-ADP | 3.1 | 9.8 Critical | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| redhat-SADP | 3.1 | 7.5 High | CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
- Attack vector: network (remotely reachable)
- Attack complexity: high (needs special conditions)
- Privileges required: low (any account)
- User interaction: none
- Scope: unchanged
CVSS measures how bad a flaw is if exploited, not how likely exploitation is. Read it next to the exploitation data below.
Exploitation and urgency
- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation none, automatable yes, technical impact total.
- FIRST EPSS (model of 2026-10-21): 1.53% probability of exploitation activity in the next 30 days; percentile 75.
Timeline
- — CVE record published by apache
- — GitHub-reviewed advisory GHSA-m5vh-3fw5-5wgh published (critical)
- — CVE record last updated
Sources and references
Original sources first. Version and fix details should always be confirmed against the vendor or project advisory.
Vendor and project advisories, patches
- camel.apache.org camel.apache.org
- access.redhat.com access.redhat.com
- access.redhat.com access.redhat.com
Vulnerability records
- GitHub Advisory GHSA-m5vh-3fw5-5wgh github.com
- CVE.org record CVE-2026-40860 cve.org
- NVD entry CVE-2026-40860 nvd.nist.gov
Other references from the CVE record and advisory
- openwall.com openwall.com
- access.redhat.com access.redhat.com
- RHBZ#2463172 bugzilla.redhat.com
- security.access.redhat.com security.access.redhat.com
- github.com github.com
- github.com github.com
- github.com github.com
- github.com github.com
- github.com github.com
- github.com github.com
- github.com github.com
- issues.apache.org issues.apache.org
- github.com github.com
- github.com github.com
- github.com github.com