Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker obtains own authorization code
-
DeliveryCraft callback URL with that code
-
ExploitLure victim to follow link (UI:R)
-
ExecutionCallback binds victim session to attacker identity
-
ImpactVictim submits data into attacker's account
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the deployment actually uses the Apache Camel OAuth component's authorization code callback (OAuthCodeFlowCallback / OAuthCodeFlowProcessor) to authenticate users - this is an optional component, so deployments not using camel-oauth for OAuth login are unaffected. The attacker needs no authentication or special privileges, but DOES require victim interaction: the victim must follow an attacker-supplied link or otherwise present the attacker's authorization code to the callback (UI:R). The vulnerable condition is the default behavior of affected versions, which issued no session-bound state parameter and performed no state validation at the callback; there is no configuration toggle required to be vulnerable. Limiting factors: affected versions are 4.11.0 before 4.18.5 and 4.19.0 before 4.22.1 only, exploitation depends on social-engineering the victim, and impact is confined to the OAuth login identity rather than the host. |
| Impact | This is a medium-severity CSRF/login-CSRF issue in the Apache Camel OAuth component, and the signals are internally consistent rather than conflicting. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N, 6.1) matches the description: network-reachable, no attacker privileges, but requiring victim interaction (following/submitting through an attacker-prepared flow), with a scope change reflecting the open-redirect-from-trusted-origin and the cross-session identity binding. No EPSS score, KEV listing, or public POC was provided in the input, so exploitation likelihood cannot be quantified; the absence of these is not evidence of safety but does argue against widespread automated exploitation. The realistic ceiling is limited: this is not RCE and grants no direct confidentiality/integrity over the host - the impact is that a victim is silently signed into an attacker-controlled identity, so subsequently entered data lands in the attacker's account, plus an open redirect usable for phishing. That makes it a real priority for deployments actually using the camel-oauth code-flow callback for user authentication, but a low-urgency or non-applicable issue for the many Camel deployments that do not use this component at all. Net: a genuine but moderate, interaction-dependent and configuration-dependent risk rather than a drop-everything critical. |
| Exploit ScenarioDerived | An attacker initiates an OAuth authorization code flow against the identity provider in their own browser, obtains a valid authorization code, and crafts a link embedding that code into the victim-facing Camel callback URL. When a victim follows the attacker's link, the stateless callback redeems the code and binds the victim's session to the attacker-controlled identity, after which any data the victim submits is stored under the attacker's account; the same flaw also lets the attacker set the post-authentication redirect to an external site. No public exploit code was identified at time of analysis, but the technique is well-understood and requires no interaction with the identity provider beyond the attacker's own. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Login cross-site request forgery (CSRF) and open redirect in the Apache Camel OAuth component (camel-oauth) let an attacker silently sign a victim into an attacker-controlled identity: the authorization code callback in affected releases neither issued a session-bound state parameter nor validated one, so a code obtained in any browser can be redeemed against whatever session presents it. Affected are Apache Camel 4.11.0 before 4.18.5 and 4.19.0 before 4.22.1 - and only deployments that actually use the camel-oauth authorization code flow to authenticate users, since that component is optional. The CVSS 3.1 score is 6.1 (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N): remote and unauthenticated from the attacker's side, but exploitation requires victim interaction (following a crafted callback link), and impact is confined to the OAuth login identity rather than the host. No public exploit code or confirmed active exploitation was identified at time of analysis; the vendor has released fixed versions (4.23.0, 4.18.5, 4.22.1).
RemediationAI
Vendor-released patch: upgrade to Apache Camel 4.23.0, or to 4.18.5 if on the 4.18.x LTS stream, or to 4.22.1 if on the 4.22.x LTS stream (https://camel.apache.org/security/CVE-2026-84178.html, https://issues.apache.org/jira/browse/CAMEL-24437). After the upgrade the authorization request emits a 32-byte SecureRandom state value bound to the session and the callback rejects a missing or mismatched state with HTTP 400, stopping the route before the code is redeemed; be aware that a state value is consumed on first use, so replayed or double-submitted callbacks will now fail. Critically, deployments sitting behind a proxy, gateway, or WAF that drops or rewrites the callback query string will start returning 400s after patching because the state parameter must survive the full round trip - validate the proxy configuration in staging before rolling out. If an immediate upgrade is not possible, terminate the authorization code flow in a component that performs its own state binding rather than delegating to the Camel callback, and remove or disable any camel-oauth route that accepts a bare authorization code without a validated state; additionally, do not treat the callback's post-authentication redirect target as trusted (restrict it to a fixed allowlist) to close the open-redirect path, at the cost of losing dynamic post-login landing pages.
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
The flaw is CWE-352 (Cross-Site Request Forgery) applied to the OAuth 2.0 authorization code flow. RFC 6749 section 10.12 requires the client to bind the callback to the flow it initiated via an opaque 'state' value that is stored in the user's session and echoed back by the identity provider; without it, any authorization code - including one the attacker legitimately obtained for an account they control - can be replayed into a victim's callback endpoint and bound to the victim's session. Upstream evidence from the fix (PR apache/camel#25821) confirms the root cause precisely: OAuthCodeFlowProcessor built the authorization request via OAuthCodeFlowParams().setRedirectUri(...) with no state, and OAuthCodeFlowCallback processed the incoming code with no comparison against a session-stored value. The patch introduces an OAUTH_STATE session attribute, generates a 32-byte SecureRandom value Base64 URL-encoded without padding, propagates it through the jakarta (ServletOAuth) and vertx (VertxOAuth) authorization-URL builders, and on callback retrieves and removes the expected state (making it single-use) and compares it with MessageDigest.isEqual in constant time, rejecting absent or mismatched values with an HTTP 400 before the code is redeemed. Because the state check runs before redemption, the vulnerable paths are reachable without any interaction with the identity provider. The same unvalidated callback handling allowed the post-authentication redirect target to be influenced, producing an open redirect from a trusted origin - hence the Scope:Changed component of the vector. The CPE cpe:2.3:a:apache_software_foundation:apache_camel:*:*:*:*:*:*:*:* is generic across the product line, so version-based scoping is the reliable discriminator.
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:R/S:C/C:L/I:L/A:N
Network-reachable callback, no attacker privileges, but requires victim interaction (UI:R); scope change reflects open redirect and cross-session identity binding; impact is limited login/identity confusion, no availability effect.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
DescriptionCVE.org
Cross-Site Request Forgery (CSRF) vulnerability in Apache Camel OAuth component.
This issue affects Apache Camel: from 4.11.0 before 4.18.5, from 4.19.0 before 4.22.1.
The authorization code callback did not carry a state parameter binding it to the authorization request that started the flow, and the callback did not verify one. An authorization code obtained in any browser could therefore be redeemed at the callback and associated with whichever session presented it, which is login cross-site request forgery: a victim can be silently signed in as an identity the attacker controls, so that actions the victim then performs, and data they then submit, land in the attacker's account. The same unvalidated callback handling also allowed the post-authentication redirect target to be influenced, giving an open redirect from a trusted origin. The state check runs before the authorization code is redeemed, so these paths are reachable without any interaction with the identity provider.
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 authorization request now issues a state value bound to the session, and the callback rejects a request whose state is absent or does not match, stopping the route with a 400 response. For deployments that cannot upgrade immediately, terminate the authorization code flow in a component that performs its own state binding rather than relying on the Camel callback. Note that after upgrading, a deployment behind a proxy that drops or rewrites the callback query string will begin to see 400 responses, because the state parameter must survive the round trip.
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
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
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-104209
GHSA-v54j-mph4-jrf2
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB