CVE-2026-42527: CWE-502 Deserialization of Untrusted Data in Apache Software Foundation Apache Camel
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.**).
AI Analysis
Technical Summary
This vulnerability arises from the default ObjectInputFilter pattern in Apache Camel components that permits deserialization of classes whose methods perform network I/O, such as java.net.URL and java.net.InetAddress. When a malicious serialized payload containing a HashMap with java.net.URL keys is deserialized, it causes the JVM to issue DNS queries to attacker-controlled hosts as a side effect. The filter allows the HashMap class, so the check passes, enabling this side channel. The issue is most pronounced in the camel-jms components where ObjectMessage.getObject() is called unconditionally with mapJmsMessage=true (default). Affected components include camel-jms, camel-sjms, camel-amqp, camel-mina, camel-netty, camel-netty-http, camel-vertx-http, camel-infinispan, and aggregation repository components camel-leveldb, camel-cassandraql, camel-consul, and camel-sql. The vulnerability affects Apache Camel versions 4.14.0 up to but not including 4.14.8, 4.15.0 up to but not including 4.18.3, and 4.19.0 up to but not including 4.21.0. The recommended fix is to upgrade to versions 4.14.8, 4.18.3, or 4.21.0. Alternatively, users can mitigate by configuring JMS-provider allow-lists or overriding the deserialization filter with explicit deny rules to block java.net.** classes.
Potential Impact
The vulnerability allows an attacker who can deliver a Java-serialized payload to an affected Apache Camel consumer to cause the JVM to perform DNS queries to attacker-controlled hosts during deserialization. This creates an out-of-band side channel that can be used to confirm exploitation or exfiltrate data indirectly. The impact is primarily information disclosure via DNS query observation. There is no direct code execution or data corruption described. The highest exposure is in the camel-jms family due to unconditional deserialization behavior by default.
Mitigation Recommendations
A fix is available in Apache Camel versions 4.14.8, 4.18.3, and 4.21.0. Users are strongly recommended to upgrade to these versions. For deployments that cannot upgrade immediately, primary mitigation involves configuring JMS-provider-side allow-lists such as Apache ActiveMQ Artemis 'deserializationAllowList' or Apache ActiveMQ Classic 'org.apache.activemq.SERIALIZABLE_PACKAGES'. Additionally, users can override the default deserialization filter by setting the endpoint-level 'deserializationFilter' option or the JVM-wide '-Djdk.serialFilter' system property with explicit deny rules like '!java.net.**;java.**;javax.**;org.apache.camel.**;!*' (or '!java.net.**;java.**;org.apache.camel.**;!*' for aggregation repository components). These mitigations reduce the risk of deserialization of classes that cause network I/O side effects.
CVE-2026-42527: CWE-502 Deserialization of Untrusted Data in Apache Software Foundation Apache Camel
Description
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.**).
CVSS v3.1
Score 8.1high
Affected software
pkg:maven/Apache Software Foundation/org.apache.camel:camelRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
This vulnerability arises from the default ObjectInputFilter pattern in Apache Camel components that permits deserialization of classes whose methods perform network I/O, such as java.net.URL and java.net.InetAddress. When a malicious serialized payload containing a HashMap with java.net.URL keys is deserialized, it causes the JVM to issue DNS queries to attacker-controlled hosts as a side effect. The filter allows the HashMap class, so the check passes, enabling this side channel. The issue is most pronounced in the camel-jms components where ObjectMessage.getObject() is called unconditionally with mapJmsMessage=true (default). Affected components include camel-jms, camel-sjms, camel-amqp, camel-mina, camel-netty, camel-netty-http, camel-vertx-http, camel-infinispan, and aggregation repository components camel-leveldb, camel-cassandraql, camel-consul, and camel-sql. The vulnerability affects Apache Camel versions 4.14.0 up to but not including 4.14.8, 4.15.0 up to but not including 4.18.3, and 4.19.0 up to but not including 4.21.0. The recommended fix is to upgrade to versions 4.14.8, 4.18.3, or 4.21.0. Alternatively, users can mitigate by configuring JMS-provider allow-lists or overriding the deserialization filter with explicit deny rules to block java.net.** classes.
Potential Impact
The vulnerability allows an attacker who can deliver a Java-serialized payload to an affected Apache Camel consumer to cause the JVM to perform DNS queries to attacker-controlled hosts during deserialization. This creates an out-of-band side channel that can be used to confirm exploitation or exfiltrate data indirectly. The impact is primarily information disclosure via DNS query observation. There is no direct code execution or data corruption described. The highest exposure is in the camel-jms family due to unconditional deserialization behavior by default.
Mitigation Recommendations
A fix is available in Apache Camel versions 4.14.8, 4.18.3, and 4.21.0. Users are strongly recommended to upgrade to these versions. For deployments that cannot upgrade immediately, primary mitigation involves configuring JMS-provider-side allow-lists such as Apache ActiveMQ Artemis 'deserializationAllowList' or Apache ActiveMQ Classic 'org.apache.activemq.SERIALIZABLE_PACKAGES'. Additionally, users can override the default deserialization filter by setting the endpoint-level 'deserializationFilter' option or the JVM-wide '-Djdk.serialFilter' system property with explicit deny rules like '!java.net.**;java.**;javax.**;org.apache.camel.**;!*' (or '!java.net.**;java.**;org.apache.camel.**;!*' for aggregation repository components). These mitigations reduce the risk of deserialization of classes that cause network I/O side effects.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- apache
- Date Reserved
- 2026-04-28T11:50:34.288Z
- Cvss Version
- null
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a4b6caa27e9c797192521b6
Added to database: 07/06/2026, 08:51:54 UTC
Last enriched: 07/06/2026, 09:22:11 UTC
Last updated: 07/07/2026, 00:42:06 UTC
Views: 6
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.