Skip to main content

Apache Camel EUVDEUVD-2026-25794

| CVE-2026-40860 CRITICAL
Deserialization of Untrusted Data (CWE-502)
2026-04-27 security@apache.org
9.8
CVSS 3.1 · Vendor: apache
Share

Severity by source

Vendor (apache) PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
8.1 HIGH

Network-reachable JMS with no auth to Camel (PR:N), but AC:H because exploitation depends on a classpath gadget chain and publish access to a consumed destination; successful RCE yields full C/I/A:H.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat
7.5 HIGH
qualitative

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

6
Analysis Generated
Jul 24, 2026 - 02:06 vuln.today
Patch released
Apr 28, 2026 - 19:42 nvd
Patch available
CVSS changed
Apr 27, 2026 - 16:22 NVD
9.8 (CRITICAL)
Patch available
Apr 27, 2026 - 10:01 EUVD
EUVD ID Assigned
Apr 27, 2026 - 09:22 euvd
EUVD-2026-25794
CVE Published
Apr 27, 2026 - 09:16 nvd
CRITICAL 9.8

DescriptionCVE.org

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.

AnalysisAI

Remote code execution in Apache Camel's JMS-family components (camel-jms, camel-sjms, camel-sjms2, camel-amqp, camel-activemq, camel-activemq6) allows an attacker who can publish a crafted JMS ObjectMessage to a consumed queue or topic to execute arbitrary code, because JmsBinding.extractBodyFromJms() calls ObjectMessage.getObject() with no ObjectInputFilter, allowlist, or denylist. Exploitation requires a usable deserialization gadget chain on the application classpath and is reachable in the default configuration (mapJmsMessage enabled) whenever Camel acts as a JMS consumer. There is no public exploit identified at time of analysis and the vulnerability is not on CISA KEV; EPSS is low at 0.30% (53rd percentile).

Technical ContextAI

The flaw is a classic CWE-502 unsafe deserialization of untrusted data. Java's native serialization (java.io.ObjectInputStream) reconstructs arbitrary object graphs from a byte stream; when the target application contains gadget classes (e.g., from Commons-Collections, Spring, or similar libraries on the classpath), a crafted stream can be coerced into invoking dangerous methods during deserialization, yielding RCE. In Camel, the JMS message-conversion layer (JmsBinding.extractBodyFromJms in camel-jms and the equivalent class in camel-sjms) unwraps javax.jms.ObjectMessage bodies by calling getObject(), which triggers this deserialization without any ObjectInputFilter or class filtering. Because Sjms2Endpoint extends SjmsEndpoint, AMQPJmsBinding extends JmsBinding, and camel-activemq/activemq6 are built on JmsComponent, the same vulnerable path is inherited transitively across the JMS component family. The CPE data (cpe:2.3:a:apache:camel) confirms Apache Camel itself as the affected product across the listed version ranges, including the explicitly enumerated 4.19.0.

RemediationAI

Vendor-released patch: upgrade to Apache Camel 4.20.0, which fixes the issue; users on the 4.14.x LTS stream should upgrade to 4.14.7 and users on the 4.18.x stream should upgrade to 4.18.2 (per https://camel.apache.org/security/CVE-2026-40860.html). Red Hat consumers should apply RHSA-2026:17668 or RHSA-2026:22453. Where immediate patching is not possible, disable the mapJmsMessage option on affected JMS consumer endpoints so Camel does not auto-convert ObjectMessage bodies (trade-off: routes that rely on automatic JMS body mapping will need explicit handling and may break). Additionally, prevent producers from sending serialized Java objects by avoiding or refusing ObjectMessage on consumed destinations, and configure a JVM-wide deserialization filter (jdk.serialFilter / ObjectInputFilter) to allowlist only expected classes (trade-off: over-tight filters can block legitimate payloads). Restrict who can publish to Camel-consumed queues and topics via broker authentication and ACLs, and remove known deserialization gadget libraries from the classpath where feasible to eliminate exploitable chains.

More in Camel

View all
CVE-2025-27636 MEDIUM POC
5.6 Mar 09

Bypass/Injection vulnerability in Apache Camel components under particular conditions.10.0 through <= 4.10.1, from 4.8.0

CVE-2014-0002 HIGH POC
7.5 Mar 21

The XSLT component in Apache Camel before 2.11.4 and 2.12.x before 2.12.3 allows remote attackers to read arbitrary file

CVE-2016-8749 CRITICAL POC
9.8 Mar 28

Apache Camel's Jackson and JacksonXML unmarshalling operation are vulnerable to Remote Code Execution attacks. Rated cri

CVE-2014-0003 HIGH POC
7.5 Mar 21

The XSLT component in Apache Camel 2.11.x before 2.11.4, 2.12.x before 2.12.3, and possibly earlier versions allows remo

CVE-2026-23552 CRITICAL POC
9.1 Feb 23

Cross-realm token acceptance bypass in Apache Camel Keycloak security policy. The KeycloakSecurityPolicy fails to proper

CVE-2026-25747 HIGH POC
8.8 Feb 23

Deserialization of Untrusted Data vulnerability in Apache Camel LevelDB component. The Camel-LevelDB DefaultLevelDBSeria

CVE-2026-40473 HIGH POC
8.8 Apr 27

Unsafe Java deserialization in the Apache Camel camel-mina component (versions 3.0.0 through 4.14.5, 4.15.0 through 4.18

CVE-2019-0194 HIGH POC
7.5 Apr 30

Apache Camel's File is vulnerable to directory traversal. Rated high severity (CVSS 7.5), this vulnerability is remotely

CVE-2017-12634 CRITICAL
9.8 Nov 15

The camel-castor component in Apache Camel 2.x before 2.19.4 and 2.20.x before 2.20.1 is vulnerable to Java object de-se

CVE-2015-5344 CRITICAL
9.8 Feb 03

The camel-xstream component in Apache Camel before 2.15.5 and 2.16.x before 2.16.1 allow remote attackers to execute arb

CVE-2017-12633 CRITICAL
9.8 Nov 15

The camel-hessian component in Apache Camel 2.x before 2.19.4 and 2.20.x before 2.20.1 is vulnerable to Java object de-s

CVE-2013-4330 MEDIUM
6.8 Oct 04

Apache Camel before 2.9.7, 2.10.0 before 2.10.7, 2.11.0 before 2.11.2, and 2.12.0 allows remote attackers to execute arb

Vendor StatusVendor

Share

EUVD-2026-25794 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy