Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Network-delivered serialized payload with AC:H (must reach a listening consumer under default filter); PR:N at the Camel layer; demonstrated impact is a blind DNS out-of-band side channel, so only C:L with I/A none.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
5Blast Radius
ecosystem impact- 11 maven packages depend on org.apache.camel:camel-amqp (5 direct, 6 indirect)
- 12 maven packages depend on org.apache.camel:camel-cassandraql (6 direct, 6 indirect)
- 10 maven packages depend on org.apache.camel:camel-consul (3 direct, 7 indirect)
- 14 maven packages depend on org.apache.camel:camel-infinispan (5 direct, 9 indirect)
- 35 maven packages depend on org.apache.camel:camel-jms (14 direct, 21 indirect)
Ecosystem-wide dependent count for version 4.14.0 and other introduced versions.
DescriptionCVE.org
Deserialization of Untrusted Data vulnerability in Apache Camel.
The default ObjectInputFilter pattern shipped with several Apache Camel components for defense-in-depth deserialization filtering ('java.;javax.;org.apache.camel.;!*', or the no-'javax.' variant in the aggregation-repository components) uses a recursive 'java.**' glob that admits classes whose hashCode/equals/readObject methods perform network I/O, notably java.net.URL and java.net.InetAddress. When an attacker can deliver a Java-serialized payload to an affected Camel consumer, deserialization of a HashMap (or any collection that calls hashCode on its elements) containing java.net.URL keys causes the JVM to issue DNS queries to the attacker-supplied host during the deserialization side-effect. The class-level filter check passes because the resulting object's class (HashMap) is allow-listed; the DNS query is observable on an attacker-controlled DNS server, providing an out-of-band side channel. The exposure is highest on the camel-jms family because JmsBinding.extractBodyFromJms invokes ObjectMessage.getObject() unconditionally when mapJmsMessage=true (default). Affected components: camel-jms, camel-sjms, camel-amqp, camel-mina, camel-netty, camel-netty-http, camel-vertx-http, camel-infinispan, and the aggregation repository components camel-leveldb, camel-cassandraql, camel-consul, camel-sql (JDBC aggregation repository). This issue affects Apache Camel: from 4.14.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0.
Users are recommended to upgrade to a version that contains the CAMEL-23372 fix once available: 4.21.0 for the 4.21.x line, 4.18.3 for the 4.18.x line, and 4.14.8 for the 4.14.x line. For deployments that cannot upgrade immediately, configure a JMS-provider-side allow-list (Apache ActiveMQ Artemis 'deserializationAllowList' / 'deserializationDenyList', Apache ActiveMQ Classic 'org.apache.activemq.SERIALIZABLE_PACKAGES') as the primary mitigation, and/or override the in-code default via the endpoint-level 'deserializationFilter' option or the JVM-wide '-Djdk.serialFilter' system property with an explicit deny: '!java.net.;java.;javax.;org.apache.camel.;!*' (or '!java.net.;java.;org.apache.camel.;!*' for the aggregation-repository components, which do not include javax.).
AnalysisAI
Blind out-of-band data exfiltration in Apache Camel 4.14.0-4.20.x arises because the default ObjectInputFilter pattern bundled with several components ('java.;javax.;org.apache.camel.;!*') uses a recursive java. glob that allow-lists java.net.URL and java.net.InetAddress. Remote attackers who can deliver a Java-serialized payload to an affected Camel consumer - most notably the camel-jms family, where JmsBinding.extractBodyFromJms calls ObjectMessage.getObject() by default (mapJmsMessage=true) - can force the JVM to issue DNS queries to an attacker-controlled host during deserialization side-effects, yielding an observable out-of-band channel. Reported by Apache; there is no public exploit identified at time of analysis, EPSS is low (0.31%, 23rd percentile), and it is not listed in CISA KEV.
Technical ContextAI
The flaw is a CWE-502 Deserialization of Untrusted Data issue in Apache Camel's integration components. Camel ships a defense-in-depth ObjectInputFilter (JDK serialization filter) intended to constrain which classes may be deserialized, but the pattern relies on a recursive 'java.**' glob. Because the class-level filter only checks the concrete resulting class (e.g., HashMap, which is allow-listed), it does not prevent element classes like java.net.URL whose hashCode/equals/readObject perform network I/O. Deserializing a HashMap keyed on java.net.URL objects causes the JVM to resolve the URL host during hashCode computation, emitting a DNS query. The CPE cpe:2.3:a:apache_software_foundation:apache_camel:*:*:*:*:*:*:*:* identifies Apache Camel as the sole affected product. Exposure is broadest in camel-jms/camel-sjms/camel-amqp because ObjectMessage bodies are deserialized unconditionally when mapJmsMessage is enabled (the default), and also affects camel-mina, camel-netty, camel-netty-http, camel-vertx-http, camel-infinispan, and the aggregation-repository components camel-leveldb, camel-cassandraql, camel-consul, and camel-sql.
RemediationAI
Vendor-released patch: upgrade to the fixed release containing the CAMEL-23372 fix for your line - 4.14.8 for the 4.14.x line, 4.18.3 for the 4.15.0-4.18.x line, and 4.21.0 for the 4.19.x-4.21.x line. For deployments that cannot upgrade immediately, the primary mitigation is a JMS-provider-side allow-list: on Apache ActiveMQ Artemis use 'deserializationAllowList'/'deserializationDenyList', and on ActiveMQ Classic set 'org.apache.activemq.SERIALIZABLE_PACKAGES'; this blocks dangerous classes at the broker but requires enumerating legitimately-serialized classes and can break applications that rely on Java object messages. Alternatively, override the vulnerable in-code default via the endpoint-level 'deserializationFilter' option or the JVM-wide '-Djdk.serialFilter' property with an explicit deny of the network gadget: '!java.net.;java.;javax.;org.apache.camel.;!*' (or '!java.net.;java.;org.apache.camel.;!*' for aggregation-repository components, which omit javax.) - note the JVM-wide flag affects all serialization in the process, so validate it does not reject classes other workloads legitimately deserialize. Where feasible, also restrict which parties can publish to the affected consumers/queues. See https://camel.apache.org/security/CVE-2026-42527.html.
More in Apache Camel
View allRemote code execution in Apache Camel's camel-coap component (versions 4.14.0-4.14.5, 4.18.0 before 4.18.1, and 4.19.0)
Unsafe Java deserialization in Apache Camel's camel-infinispan component allows arbitrary code execution when the ProtoS
Header-injection in the Apache Camel camel-atmosphere-websocket producer lets an external sender hijack WebSocket messag
Header-filter bypass in the Apache Camel Undertow component (4.11.0-4.14.8, 4.15.0-4.18.3, and 4.19.0-4.21.x) lets remot
Remote code execution in Apache Camel 3.18.0-4.14.5 and 4.15.0-4.18.1 stems from CXF and Knative HeaderFilterStrategy im
Message header injection in Apache Camel's camel-mail component (3.0.0 before 4.14.6 and 4.15.0 before 4.18.1) lets an a
Remote code execution via unsafe Java deserialization affects the camel-pqc component of Apache Camel 4.18.0-4.18.2 and
Unsafe Java deserialization in Apache Camel's camel-consul component (ConsulRegistry / ConsulRegistryUtils.deserialize)
Cypher injection in Apache Camel's camel-neo4j producer allows attackers who control JSON key names in the CamelNeo4jMat
Remote code execution in the Apache Camel camel-hazelcast component allows an attacker who can join or reach the Hazelca
Remote code execution in Apache Camel's camel-vertx-http component (4.0.0-4.14.7, 4.15.0-4.18.2, 4.19.0) arises when a p
JWT claim validation in Apache Camel's Platform HTTP Main component silently fails to enforce issuer and audience constr
Same weakness CWE-502 – Deserialization of Untrusted Data
View allSame technique Deserialization
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-41825
GHSA-8h6p-jvhf-9hcr