CVE-2025-27636: Apache Camel Camel Message Header Injection Vulnerability
MODERATECVE-2025-27636 is a MODERATE camel message header injection vulnerability (CWE-178: Improper Handling of Case Sensitivity) affecting Apache Camel libraries in the Maven ecosystem. The issue involves camel message header injection via improper filtering. Remediation is available by upgrading affected packages to version 3.22.4, 4.8.5, 4.10.2.
CVE-2025-27636 at a Glance
How to Fix CVE-2025-27636
To remediate this vulnerability, upgrade all affected Apache Camel dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-support</artifactId>
<version>3.22.4</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-support</artifactId>
<version>4.8.5</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-support</artifactId>
<version>4.10.2</version>
</dependency>
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
mvn dependency:tree -Dincludes=org.apache.camel
How to Check if You Are Affected
To determine whether your Java application is affected by CVE-2025-27636, inspect your build dependencies using the Maven Dependency Plugin:
mvn dependency:tree -Dincludes=org.apache.camel
Analyze the terminal output to locate any version of Apache Camel in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 3.22.4), your application is affected.
Note: The mvn dependency:tree -Dincludes=org.apache.camel command inspects the resolved dependency graph declared in your project's POM files; it does not perform automated security scanning or inspect runtime dynamic classpaths. Always verify runtime container classpaths and shaded JARs.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-178: Improper Handling of Case Sensitivity, where the product does not properly account for differences in case sensitivity when accessing or determining the properties of a resource, leading to inconsistent results. In Apache Camel, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2025-27636 Affected Apache Camel Versions
3 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
org.apache.camel:camel-support
|
Maven |
≥ 3.10.0
< 3.22.4
|
3.22.4
|
|
org.apache.camel:camel-support
|
Maven |
≥ 4.0.0-M1
< 4.8.5
|
4.8.5
|
|
org.apache.camel:camel-support
|
Maven |
≥ 4.9.0
< 4.10.2
|
4.10.2
|
References
Frequently Asked Questions
What is CVE-2025-27636?
Which Apache Camel versions are affected?
What version fixes CVE-2025-27636?
Is camel-support affected?
What CWE is associated with CVE-2025-27636?
How can I check Maven dependencies for CVE-2025-27636?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-2c2h-2855-mf97",
"modified" : "2025-03-25T18:38:07Z",
"published" : "2025-03-09T15:31:19Z",
"aliases" : [ "CVE-2025-27636" ],
"summary" : "Apache Camel: Camel Message Header Injection via Improper Filtering",
"details" : "Bypass/Injection vulnerability in Apache Camel components under particular conditions.\n\nThis issue affects Apache Camel: from 4.9.0 through <= 4.10.1, from 4.8.0 through <= 4.8.4, from 3.10.0 through <= 3.22.3.\n\nUsers are recommended to upgrade to version 4.10.2 for 4.10.x LTS, 4.8.5 for 4.8.x LTS and 3.22.4 for 3.x releases.\n\nThis vulnerability is present in Camel's default incoming header filter, that allows an attacker to include Camel specific headers that for some Camel components can alter the behaviours such as the camel-bean component, to call another method on the bean, than was coded in the application. In the `camel-jms` component, then a malicious header can be used to send the message to another queue (on the same broker) than was coded in the application. This could also be seen by using the camel-exec component.\n\nThe attacker would need to inject custom headers, such as HTTP protocols. So if you have Camel applications that are directly connected to the internet via HTTP, then an attacker could include malicious HTTP headers in the HTTP requests that are send to the Camel application.\n\nAll the known Camel HTTP component such as `camel-servlet`, `camel-jetty`, `camel-undertow`, `camel-platform-http`, and `camel-netty-http` would be vulnerable out of the box.\n\nIn these conditions an attacker could be able to forge a Camel header name and make the bean component invoking other methods in the same bean.\n\nIn terms of usage of the default header filter strategy the list of components using that is: \n\n * camel-activemq\n * camel-activemq6\n * camel-amqp\n * camel-aws2-sqs\n * camel-azure-servicebus\n * camel-cxf-rest\n * camel-cxf-soap\n * camel-http\n * camel-jetty\n * camel-jms\n * camel-kafka\n * camel-knative\n * camel-mail\n * camel-nats\n * camel-netty-http\n * camel-platform-http\n * camel-rest\n * camel-sjms\n * camel-spring-rabbitmq\n * camel-stomp\n * camel-tahu\n * camel-undertow\n * camel-xmpp\n\nThe vulnerability arises due to a bug in the default filtering mechanism that only blocks headers starting with \"Camel\", \"camel\", or \"org.apache.camel.\". \n\nMitigation: You can easily work around this in your Camel applications by removing the headers in your Camel routes. There are many ways of doing this, also globally or per route. This means you could use the removeHeaders EIP, to filter out anything like \"cAmel, cAMEL\" etc, or in general everything not starting with \"Camel\", \"camel\" or \"org.apache.camel.\".",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Maven",
"name" : "org.apache.camel:camel-support"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "3.10.0"
}, {
"fixed" : "3.22.4"
} ]
} ]
}, {
"package" : {
"ecosystem" : "Maven",
"name" : "org.apache.camel:camel-support"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "4.0.0-M1"
}, {
"fixed" : "4.8.5"
} ]
} ]
}, {
"package" : {
"ecosystem" : "Maven",
"name" : "org.apache.camel:camel-support"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "4.9.0"
}, {
"fixed" : "4.10.2"
} ]
} ]
} ],
"references" : [ {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2025-27636"
}, {
"type" : "WEB",
"url" : "https://github.com/apache/camel/commit/23a833eec6131a3cdce6e4b1b40b3ac2035b6adf"
}, {
"type" : "WEB",
"url" : "https://github.com/apache/camel/commit/45a6b74f7f8af8fd58f197566938a9534392a624"
}, {
"type" : "WEB",
"url" : "https://camel.apache.org/security/CVE-2025-27636.html"
}, {
"type" : "WEB",
"url" : "https://github.com/akamai/CVE-2025-27636-Apache-Camel-PoC/blob/main/src/main/java/com/example/camel/VulnerableCamel.java"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/apache/camel"
}, {
"type" : "WEB",
"url" : "https://github.com/apache/camel/blob/camel-4.9.0/core/camel-support/src/main/java/org/apache/camel/support/DefaultHeaderFilterStrategy.java"
}, {
"type" : "WEB",
"url" : "https://issues.apache.org/jira/browse/CAMEL-21828"
}, {
"type" : "WEB",
"url" : "https://lists.apache.org/thread/l3zcg3vts88bmc7w8172wkgw610y693z"
}, {
"type" : "WEB",
"url" : "http://www.openwall.com/lists/oss-security/2025/03/09/1"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-178" ],
"severity" : "MODERATE",
"github_reviewed" : true,
"github_reviewed_at" : "2025-03-10T20:49:46Z",
"nvd_published_at" : "2025-03-09T13:15:34Z"
}
}