Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend crafted MIME message with injected Camel-namespace header
-
Deliverycamel-mail consumer receives message
-
ExploitMimeMultipart unmarshal with headersInline=true runs
-
ExecutionInjected header copied to Camel Exchange without filtering
-
PersistDownstream Camel producer reads control header
-
ImpactAttacker-controlled operation executes against backend system
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 that the target Camel route uses the camel-mail component's MimeMultipart data format with headersInline explicitly configured to true - this is not the default, and routes using the default setting of false are not reachable by this vulnerability. The attacker must be able to influence the MIME header names and values of messages processed by the route, either by sending mail directly to an address the Camel consumer monitors or via a mail relay in the ingestion path. Actual impact further depends on what Camel producers or processors follow the unmarshal step: injection of CamelSqlQuery into a route terminating in camel-sql enables SQL redirection, while a route with no header-driven control logic may suffer no meaningful consequence. Exploitation is bounded by the non-default configuration requirement and the route topology; there is no privilege requirement to send email, but the non-default headersInline setting is a prerequisite outside the attacker's control. |
| Impact | The NVD CVSS vector AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N scores 6.5 and treats the attack complexity as low, which is accurate conditional on headersInline being enabled but overstates the population-level risk since that setting is non-default. The EPSS score of 0.16% (5th percentile) and SSVC exploitation status of none both corroborate that no exploitation activity has been observed. SSVC rates the vulnerability as automatable - once a route is exposed, crafting and sending malicious MIME messages requires no per-target friction - with only partial technical impact, because actual consequences are entirely dependent on which Camel components follow the unmarshal step. A route that pipes to camel-sql could be redirected to execute attacker-supplied SQL; a route performing only fixed transformations may experience no meaningful impact. There is no conflict between the CVSS network vector and the description - email senders are genuinely remote and unauthenticated - but the non-default configuration prerequisite is a real limiting factor that the AC:L rating does not fully capture. Overall risk profile: real vulnerability, meaningful impact in affected configurations, but the limited deployment footprint of routes with headersInline=true and zero observed exploitation keep this firmly in scheduled-patching territory rather than emergency response. |
| Exploit ScenarioDerived | An attacker who can deliver email to a Camel route using camel-mail with headersInline=true crafts a MIME message containing a header named CamelSqlQuery with an attacker-controlled SQL statement. When the route unmarshals the message, the header bypasses filtering and is copied to the Camel Exchange; the downstream camel-sql producer then executes the injected query against the configured database rather than its own configured statement. No public exploit code has been identified at time of analysis, but the attack is straightforward to reproduce from the published advisory description alone. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 25, 2026
MIME header injection in Apache Camel's camel-mail MimeMultipart data format allows unauthenticated network senders to plant Camel-internal namespace headers onto the Camel Exchange when headersInline is set to true, potentially redirecting what downstream route components - such as camel-sql - execute. Versions 2.17.0 through 4.14.8, 4.15.0 through 4.18.3, and 4.19.0 through 4.21.x are affected across all release lines until the current fixes. No public exploit code or active exploitation has been identified; EPSS sits at 0.16% and SSVC rates exploitation status as none, making this a patch-priority rather than emergency-response item for most organizations.
RemediationAI
Vendor-released patches are available: upgrade to Apache Camel 4.22.0 on the current release stream, 4.14.9 on the 4.14.x LTS stream, or 4.18.4 on the 4.18.x stream, per the advisory at https://camel.apache.org/security/CVE-2026-59230.html. For deployments that cannot upgrade immediately, the most effective workaround is to leave headersInline at its default value of false; note this changes how MIME headers are surfaced (they become attachments rather than message headers), which may require adjustments to downstream route logic that currently reads those headers. Where headersInline must remain enabled, insert a removeHeaders("Camel*") step immediately after the unmarshal step and before any processor or producer that reads Camel control headers - this strips injected headers before they can influence route behavior, with the trade-off that any legitimate Camel-prefixed headers set upstream of the unmarshal will also be removed. As defense in depth, restrict mail ingestion to trusted relay hosts and treat MIME header names from any externally-sourced message as untrusted input.
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 (CPE: cpe:2.3:a:apache_software_foundation:apache_camel:*:*:*:*:*:*:*:*) is a widely-deployed open-source enterprise integration framework implementing EIP patterns. The camel-mail component ships a MimeMultipart data format that can unmarshal incoming MIME multipart messages. The root cause is CWE-20 (Improper Input Validation): when headersInline is true, the unmarshal path enumerates every MIME header in the incoming message except the three it generates itself (Message-ID, MIME-Version, Content-Type) and calls setHeader for each - with no HeaderFilterStrategy applied. Because MIME header names come directly from the external message, a sender can place a header whose name falls in the Camel-internal namespace (e.g., CamelSqlQuery, CamelFileName, or other control headers that Camel components read to override their configured behavior). The camel-mail consumer's own inbound path was previously hardened with a filter strategy; this parallel unmarshal path introduced in Camel 2.17.0 was not covered by that earlier fix. The default value of headersInline is false, under which MIME headers are surfaced as attachments and are not placed on the Exchange.
Know when Apache 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:L/A:N
AC:H because exploitation requires non-default headersInline=true and a downstream component that acts on injected control headers; C:L/I:L reflect route-topology-dependent partial impact with no availability effect.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
4DescriptionCVE.org
Improper input validation vulnerability in Apache Camel.
This issue affects Apache Camel: from 2.17.0 before 4.14.9, from 4.15.0 before 4.18.4, from 4.19.0 before 4.22.0.
The camel-mail component ships a MimeMultipart data format that can unmarshal a MIME multipart message. When it is configured with headersInline set to true, the unmarshal path copies the MIME headers of the incoming message onto the Camel message: it enumerates every header that is not one of the three standard ones it generates itself - Message-ID, MIME-Version and Content-Type - and calls setHeader for each, applying no HeaderFilterStrategy. The names of those MIME headers come from the message being unmarshalled, so a sender able to influence the message could place a header whose name falls in the Camel-internal namespace and have it set on the Exchange. Camel components read control headers from that namespace to override their configured behaviour - the camel-sql producer, for instance, takes the statement to execute from a Camel header when one is present - so an injected header could redirect what a downstream step in the route does with data the route author never intended it to take from the message. Which sinks are reachable, and what the consequences are, depends entirely on what the route does after the unmarshal step. The camel-mail consumer already applied a header filter strategy on its own inbound path, so this was the parallel inbound path into the same component that the earlier hardening did not cover. The affected copy is reached only when headersInline is enabled, which is not the default: with the default setting the MIME headers are surfaced as attachments rather than as message headers, and are not affected. The behaviour dates back to the introduction of the data format in 2.17.0 and was present on every release line until this fix.
Users are recommended to upgrade to version 4.22.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.9. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.4. For deployments that cannot upgrade immediately, leave headersInline at its default of false where the inline headers are not needed, since the copy is only reached when it is enabled. Where it must stay enabled, strip Camel-internal headers immediately after the unmarshal step, for example with removeHeaders(“Camel*”) placed before any processor or producer that reads control headers, and do not unmarshal MIME content from an untrusted sender into a route that dispatches on header values. As defence in depth, treat the header names of any MIME message arriving from outside the trust boundary as untrusted input.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
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
Blind out-of-band data exfiltration in Apache Camel 4.14.0-4.20.x arises because the default ObjectInputFilter pattern b
EUVD-2026-64953
GHSA-cx47-qxp5-mmh2
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB