Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend inbound message with Long-Running-Action header
-
ExploitHeader bypasses Camel namespace consumer filter
-
ExecutionSaga processor joins attacker-named saga
-
ImpactHijack or misdirect compensation of another action
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | Exploitable only in deployments that run Camel sagas with a CamelSagaService that consults the Long-Running-Action header - in practice the camel-lra component backed by an external LRA coordinator - AND where a consumer accepts inbound messages from untrusted senders without stripping that header. Limiting factors: the InMemorySagaService and other services that do not advertise header support are unaffected; exploitation requires an in-flight saga whose identifier the attacker can supply/correlate (reflected in AC:H); no authentication is required (PR:N) but the attacker must have a path to inject messages into the saga-enabled route. The documented mitigation is removeHeaders("Long-Running-Action") at every untrusted consumer, or upgrading to 4.23.0/4.18.5/4.22.1. |
| Impact | This is a genuine but low-to-moderate priority issue, not a top-tier emergency. The vendor CVSS of 4.8 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N) is internally consistent with the description: network-reachable because an external sender supplies the Long-Running-Action header on an inbound message (AV:N, PR:N), but high complexity (AC:H) because exploitation depends on a specific deployment (sagas running over an LRA coordinator) and on the attacker correlating with an in-flight saga identifier, with only low confidentiality and integrity impact and no availability impact. No EPSS score, KEV listing, or public POC was provided in the input, so exploitation status is 'no public exploit identified at time of analysis' - the GitHub pull requests contain fix code and regression tests, not weaponized exploit code. There is no SSVC decision data supplied. The signals do not conflict: a modest CVSS, absence of KEV/EPSS/POC, and a tightly bounded trigger condition all point to a low real-world exploitation likelihood, meaningful only to the narrow subset of Apache Camel deployments that run sagas over an LRA coordinator and accept messages from untrusted senders. |
| Exploit ScenarioDerived | An attacker who can send messages into a Camel route that participates in LRA-backed sagas includes a crafted Long-Running-Action header on an inbound message; because the header lies outside the Camel namespace that consumer header filters strip, it is honored and the attacker's exchange is attached to a saga started by a different participant. The attacker can thereby join another party's long-running action or cause compensation to be associated with an action they never initiated. No public exploit code was identified; exploitation requires an active saga over an LRA coordinator and knowledge or guessing of its identifier, consistent with the high attack complexity (AC:H). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Apache Camel 4.0.0 through 4.18.4 and 4.19.0 through 4.22.0 let a remote sender choose which saga their exchange joins by supplying the unprefixed 'Long-Running-Action' header, because the saga processor consulted that header on every exchange rather than only for saga services that participate in an external LRA protocol. The consequence is limited to deployments running sagas through the camel-lra component with a real LRA coordinator and a consumer that accepts inbound messages from untrusted senders: an attacker can attach a request to a long-running action started by someone else, or force compensation to be associated with an action they did not initiate, yielding low confidentiality and integrity impact (CVSS 4.8, AC:H). Vendor-released patches exist in 4.23.0, 4.18.5 and 4.22.1, and no public exploit has been identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade Apache Camel to 4.23.0, or to the LTS fixes 4.18.5 (4.18.x stream) and 4.22.1 (4.22.x stream); the corrective commits are in https://github.com/apache/camel/pull/25828, https://github.com/apache/camel/pull/25940 and https://github.com/apache/camel/pull/25942, and the advisory is at https://camel.apache.org/security/CVE-2026-85312.html. Where an immediate upgrade is not possible, strip the header at the trust boundary by adding removeHeaders("Long-Running-Action") to every consumer route that accepts messages from an untrusted sender - this is safe for services that do not use the header, but it will break legitimate cross-participant saga joining in camel-lra routes that rely on inbound LRA correlation ids, so apply it only at untrusted ingress. Additionally, confirm which CamelSagaService is installed: deployments on InMemorySagaService or other services that do not advertise header support are not exposed and need no workaround, and restricting network reachability to saga-enabled endpoints reduces the attacker's ability to inject messages at all.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Camel's saga EIP implements the saga pattern for distributed transactions through a CamelSagaService abstraction; the LRASagaService in camel-lra delegates to an external Long-Running Action (LRA) coordinator and carries the coordinator identifier in the 'Long-Running-Action' message header, since the saga id normally stored in the exchange's internal state does not survive a transport round-trip such as Kafka produce/consume. The SagaProcessor fell back to that header whenever the exchange had no current saga, regardless of which saga service was installed. Because the header name has no 'Camel' prefix, it falls outside the namespace that Camel's consumer header filters normally block, so an external sender could set it on an inbound message and have it treated as a legitimate coordinator id. The fix for this CWE-20 improper input validation issue adds an isLongRunningActionHeaderSupported() capability to CamelSagaService, returns true only from LRASagaService (and from test shims that legitimately model cross-participant interop), and gates the header lookup in SagaProcessor on that capability, so InMemorySagaService and other non-participating services no longer read the header at all. Regression tests assert both that a message-supplied id is never looked up under a service without header support and that InMemorySagaService does not advertise the capability.
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:H/PR:N/UI:N/S:U/C:L/I:L/A:N
Header arrives on a network message from an unauthenticated external sender (AV:N, PR:N); AC:H because it requires an LRA-backed saga deployment and correlation with an in-flight saga id; low confidentiality/integrity, no availability impact.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
DescriptionCVE.org
Improper Input Validation vulnerability in Apache Camel Core component.
This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.
The saga processor consulted a header named Long-Running-Action to decide which saga an exchange belonged to. The name carries no Camel prefix, so it sits outside the namespace that consumer header filters block, and an external sender could supply it on an inbound message. That let the sender name the saga the exchange joined, attaching their request to a long-running action started by someone else, or causing compensation to be associated with an action they did not initiate. The header is only consulted by a saga service that uses it, which bounds the exposure to deployments running sagas over an LRA coordinator.
Upgrade to Apache Camel 4.23.0, which fixes the issue. Users on the 4.18.x LTS releases stream should upgrade to 4.18.5. Users on the 4.22.x LTS releases stream should upgrade to 4.22.1. The header is now consulted only for a saga service that actually uses it, rather than on every exchange. For deployments that cannot upgrade immediately, strip the header at the trust boundary with removeHeaders("Long-Running-Action") on every consumer that accepts messages from an untrusted sender.
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.
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
Unauthenticated remote code execution affects the camel-hazelcast component of Apache Camel 4.0.0 through 4.18.4 and 4.1
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)
Unauthenticated deserialization of attacker-controlled messages in Apache Camel's camel-jgroups consumer can lead to rem
Expression language injection in the Apache Camel dynamic-router-control endpoint allows a party who can place a message
Deserialization of untrusted data in the Apache Camel Spring Redis component (camel-spring-redis) allows an authenticate
EUVD-2026-104200
GHSA-r9fc-fx9c-46m4
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB