Apache Camel JMS, Apache Camel CoAP, Apache Camel Google PubSub: Incomplete fix for CVE-2025-27636 in non-HTTP HeaderFilterStrategies (camel-jms, camel-sjms, camel-coap, camel-google-pubsub) allows case-variant header injection
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 4.14.6, 4.18.2, 4.20.0
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 1 proof of concept on GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
The fix for CVE-2025-27636 added setLowerCase(true) to HttpHeaderFilterStrategy so that case-variant header names such as 'CAmelExecCommandExecutable' are filtered out alongside 'CamelExecCommandExecutable'. The same setLowerCase(true) call was not applied to five non-HTTP HeaderFilterStrategy implementations: JmsHeaderFilterStrategy and ClassicJmsHeaderFilterStrategy in camel-jms, SjmsHeaderFilterStrategy in camel-sjms, CoAPHeaderFilterStrategy in camel-coap, and GooglePubsubHeaderFilterStrategy in camel-google-pubsub. Because those strategies use case-sensitive String.startsWith('Camel'/'camel') filtering while the Camel Exchange stores headers in a case-insensitive map, an attacker with JMS (or equivalent) producer access to the broker consumed by a Camel route can inject case-variant Camel internal headers, which are then resolved by downstream components such as camel-exec and camel-file using their canonical casing. This enables remote code execution and arbitrary file write on routes that forward JMS messages to header-driven components. This issue affects Apache Camel: from 3.0.0 before 4.14.6, 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.6. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.2.
Timeline
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- CVE published
- Record last updated
Affected versions
- org.apache.camel:camel-jms
From 3.0.0 · fixed in 4.14.6; From 4.15.0 · fixed in 4.18.2; From 4.19.0 · fixed in 4.20.0
- org.apache.camel:camel-coap
From 3.0.0 · fixed in 4.14.6; From 4.15.0 · fixed in 4.18.2; From 4.19.0 · fixed in 4.20.0
- org.apache.camel:camel-google-pubsub
From 3.0.0 · fixed in 4.14.6; From 4.15.0 · fixed in 4.18.2; From 4.19.0 · fixed in 4.20.0
- org.apache.camel:camel-coapMaven
From 3.0.0 · fixed in 4.14.6
- org.apache.camel:camel-coapMaven
From 4.15.0 · fixed in 4.18.2
- org.apache.camel:camel-coapMaven
From 4.19.0 · fixed in 4.20.0
- org.apache.camel:camel-google-pubsubMaven
From 3.0.0 · fixed in 4.14.6
- org.apache.camel:camel-google-pubsubMaven
From 4.15.0 · fixed in 4.18.2
- org.apache.camel:camel-google-pubsubMaven
From 4.19.0 · fixed in 4.20.0
- org.apache.camel:camel-jmsMaven
From 3.0.0 · fixed in 4.14.6
- org.apache.camel:camel-jmsMaven
From 4.15.0 · fixed in 4.18.2
- org.apache.camel:camel-jmsMaven
From 4.19.0 · fixed in 4.20.0
- org.apache.camel:camel-sjmsMaven
From 3.0.0 · fixed in 4.14.6
- org.apache.camel:camel-sjmsMaven
From 4.15.0 · fixed in 4.18.2
- org.apache.camel:camel-sjmsMaven
From 4.19.0 · fixed in 4.20.0