GHSA-mm84-qvjh-hcj7
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify HTTP-to-Kafka bridge route on Camel deployment
-
DeliveryCraft HTTP request with kafka.OVERRIDE_TOPIC header set to target topic
-
ExploitHttpHeaderFilterStrategy passes kafka.* header unblocked into Exchange
-
ExecutionKafkaProducer.evaluateTopic() reads header as authoritative destination override
-
PersistMessage published to attacker-specified Kafka topic
-
ImpactDownstream service consuming that topic processes attacker-injected message
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | Exploitation requires three conditions to be simultaneously true: first, the target deployment must run a Camel route that explicitly chains an HTTP consumer component (platform-http, camel-servlet, camel-jetty, or equivalent) into a kafka: producer - pure Kafka-to-Kafka routes, JMS-to-Kafka, or any non-HTTP ingress routes are entirely unaffected since HttpHeaderFilterStrategy is not involved. Second, the attacker must have HTTP access to that consumer endpoint; no credentials are required specifically when the HTTP consumer is unauthenticated, but if authentication is enforced the attacker must supply valid credentials. Third, the deployment must run an affected camel-kafka version (4.0.0-4.14.7, 4.15.0-4.18.2, or 4.19.0-4.20.x). Exploitation is further limited by the practical need to know a valid target Kafka topic name - while not a cryptographic control, it requires prior reconnaissance. The kafka.OVERRIDE_TIMESTAMP and kafka.PARTITION_KEY headers are similarly injectable, enabling message backdating and partition targeting respectively, but do not expand the access vector beyond the above conditions. |
| Impact | The vendor rates this vulnerability Moderate; no CVSS base vector or EPSS score was provided in the advisory, so quantitative signal comparison is unavailable. No CISA KEV listing exists and no public POC has been identified at time of analysis. Real-world risk is deployment-pattern-dependent: exploitation requires a Camel route that explicitly bridges an HTTP consumer into a kafka: producer - a pattern common in event-driven microservice integration but not universal. When that condition is met and the HTTP consumer is unauthenticated, the attack is trivially executable with a standard HTTP client and knowledge of a valid Kafka topic name, making the attack complexity effectively low. The primary business impact is integrity: an attacker can inject crafted messages into sensitive or critical Kafka topics consumed by downstream services, potentially manipulating payment flows, audit logs, or data pipelines. Secondary confidentiality impact exists if the attacker-chosen destination topic surfaces data they can observe. The vendor's Moderate rating likely reflects that the vulnerable route configuration is not the default Camel deployment mode. The discrepancy between the conditional ease of exploitation and the Moderate rating should prompt defenders to audit whether HTTP-to-Kafka bridge routes exist in their environments before dismissing this as low priority. |
| Exploit ScenarioDerived | An attacker targeting a financial services platform discovers a public-facing Apache Camel HTTP endpoint (platform-http) that receives webhook events and routes them to a kafka://transactions.inbound topic for downstream processing. The attacker sends a POST request with the standard event payload but adds the HTTP header kafka.OVERRIDE_TOPIC: payments.settlement.confirmed - HttpHeaderFilterStrategy passes it unblocked, KafkaProducer.evaluateTopic() reads it as the authoritative destination, and the message lands in the settlements topic consumed by the payment finalization service rather than the intended inbound topic. No public exploit code exists, but the technique requires only curl and knowledge of an internal topic name obtainable through service documentation or error-message leakage. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 05, 2026
Header injection in Apache Camel's camel-kafka component allows HTTP clients to redirect Kafka messages to arbitrary topics in routes that bridge an HTTP consumer into a Kafka producer. The kafka.OVERRIDE_TOPIC, kafka.OVERRIDE_TIMESTAMP, and kafka.PARTITION_KEY Exchange header constants used non-CamelKafka-prefixed names, causing them to bypass HttpHeaderFilterStrategy - which blocks only the Camel/camel namespace - while remaining readable by KafkaProducer.evaluateTopic() as authoritative control directives. No public exploit code has been identified and no CISA KEV listing exists at time of analysis, but when the HTTP ingress is unauthenticated the attack requires only a standard HTTP client and a known Kafka topic name.
RemediationAI
Upgrade to Apache Camel 4.14.8 (LTS stream), 4.18.3 (LTS stream), or 4.21.0 - all released in July 2026 per the Apache Camel project blog and confirmed by the official security advisory at https://camel.apache.org/security/CVE-2026-49098.html. After upgrading, any Camel routes or Simple expressions that reference kafka.* header names by their raw string value (e.g., ${headers[kafka.TOPIC]}, ${headers[kafka.OVERRIDE_TOPIC]}) must be updated to use the new CamelKafka* names (e.g., CamelKafkaTopic, CamelKafkaOverrideTopic); this is a breaking change for string-based header references, though Java code referencing KafkaConstants field names (KafkaConstants.OVERRIDE_TOPIC) compiles without modification. For deployments that cannot upgrade immediately, insert a removeHeaders('kafka.*') DSL step at the very start of any route before the kafka: producer endpoint to strip all kafka.* headers arriving from HTTP ingress - note this will also strip any legitimate kafka.* headers intentionally propagated within the route, so scope it narrowly and set the target topic from a trusted source (endpoint URI or property placeholder) rather than a header. Additionally, placing authentication on the HTTP consumer endpoint eliminates the no-credentials attack path. Full technical details and backport commit references are available in JIRA CAMEL-23584.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Apache Camel (org.apache.camel:camel-kafka) is the Kafka integration component of the widely-used Apache Camel enterprise integration framework, implementing patterns from the Gregor Hohpe EIP catalogue. The root cause spans CWE-20 (Improper Input Validation) and CWE-74 (Injection): KafkaConstants defined control header values using a plain kafka.* naming convention (e.g., OVERRIDE_TOPIC = 'kafka.OVERRIDE_TOPIC') rather than the CamelKafka* convention used by all other Camel components. Camel employs two header filter strategies with distinct namespace allow-lists: KafkaHeaderFilterStrategy filters the kafka.* namespace at the Kafka-to-Exchange serialization boundary only (reading Kafka record headers into the Exchange and writing Exchange headers into Kafka records), while HttpHeaderFilterStrategy - applied by HTTP consumer components such as platform-http, camel-servlet, and camel-jetty - blocks only the Camel and camel namespaces. In a multi-component route, HTTP consumer headers flow into the Camel Exchange before KafkaHeaderFilterStrategy is applied, meaning kafka.* headers set by an HTTP client pass through HttpHeaderFilterStrategy unfiltered and are then consumed by KafkaProducer.evaluateTopic() as legitimate routing directives. The fix (GitHub PR #23602, commits f8914a219 on main, d4c6fd85 on 4.18.x, 93cd4c4e on 4.14.x) renames all 12 affected header constants to the CamelKafka* convention so HttpHeaderFilterStrategy blocks them like any other Camel control header. Affected versions: 4.0.0-4.14.7, 4.15.0-4.18.2, and 4.19.0-4.20.x of org.apache.camel:camel-kafka.
Know when Camel gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
AV:N via HTTP; PR:N for unauthenticated HTTP ingress; S:C because Kafka is a separate security scope; I:H for arbitrary cross-topic message injection.
Primary rating from Vendor (CNA).
CVSS VectorVendor
Lifecycle Timeline
2Description PRE-NVD
Blast Radius
ecosystem impact- 211 maven packages depend on org.apache.camel:camel-kafka (14 direct, 197 indirect)
Ecosystem-wide dependent count for version 4.0.0.
Articles & Coverage 4
Executive ViewAI
Apache Camel's camel-kafka component contains a header injection vulnerability that allows HTTP clients to redirect Kafka messages to arbitrary topics, potentially diverting business-critical data streams. Organizations using Camel to bridge HTTP and Kafka infrastructure face the risk of message interception, misrouting, and unauthorized topic manipulation. The risk is significantly elevated for deployments where HTTP ingress points lack access controls.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict network access to HTTP ingress endpoints leveraging the camel-kafka component; (2) Implement authentication or IP-based access controls on HTTP consumers; (3) Apply application-level header validation to sanitize and reject kafka.OVERRIDE_TOPIC, kafka.OVERRIDE_TIMESTAMP, and kafka.PARTITION_KEY headers from untrusted sources; (4) Enable Kafka broker-level topic access controls and audit logging; (5) Monitor for suspicious header patterns in HTTP requests targeting Kafka producers.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Bypass/Injection vulnerability in Apache Camel components under particular conditions.10.0 through <= 4.10.1, from 4.8.0
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
Apache Camel's Jackson and JacksonXML unmarshalling operation are vulnerable to Remote Code Execution attacks. Rated cri
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
Cross-realm token acceptance bypass in Apache Camel Keycloak security policy. The KeycloakSecurityPolicy fails to proper
Deserialization of Untrusted Data vulnerability in Apache Camel LevelDB component. The Camel-LevelDB DefaultLevelDBSeria
Unsafe Java deserialization in the Apache Camel camel-mina component (versions 3.0.0 through 4.14.5, 4.15.0 through 4.18
Apache Camel's File is vulnerable to directory traversal. Rated high severity (CVSS 7.5), this vulnerability is remotely
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
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
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
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
EUVD-2026-41844
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB