Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure authenticated user to attacker page
-
DeliveryServe malicious cross-origin JavaScript
-
ExploitBrowser sends credentialed request with Origin header
-
ExecutionHandler reflects origin and allows credentials
-
PersistScript reads authenticated response
-
ImpactExfiltrate disclosed data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A02:2025 - Security Misconfiguration
ASVS 5.0
V13 - Configuration CORS policy restriction
|
| Exploitation Conditions | Exploitation requires the camel-platform-http-vertx CORS handler to be enabled AND camel.server.cors.origins to be left unset (the vulnerable default once CORS is turned on), which causes the handler to reflect the caller's Origin and send Access-Control-Allow-Credentials: true to any origin. Realistic impact additionally requires the Camel HTTP endpoint to rely on ambient credentials (cookies/HTTP auth) that the browser will attach cross-origin, and a victim with an active authenticated session who visits an attacker-controlled page (UI:R). Limiting factors: setting camel.server.cors.origins to an explicit allow-list fully mitigates (and is the documented workaround); endpoints without credentialed/sensitive responses, or deployments where CORS is disabled, are not meaningfully exposed; and affected versions are bounded to Apache Camel 4.0.0-4.18.4 and 4.19.0-4.22.0. |
| Impact | This is a credible medium-severity information-disclosure issue, but not an emergency. The vendor CVSS of 6.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N) is internally consistent with the description: the flaw is a CORS misconfiguration (CWE-942) in the camel-platform-http-vertx component where createCorsHandler() emitted Access-Control-Allow-Credentials: true outside the origin check, and - because an unset camel.server.cors.origins reflects the caller's Origin back - produced the credentialed any-origin configuration the fetch spec forbids as a literal wildcard. UI:R correctly reflects that a victim must visit an attacker-controlled page, and C:H/I:N/A:N correctly scope impact to read-only disclosure of responses. No EPSS score, no CISA KEV listing, and no public exploit were provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The absence of these signals, combined with the UI:R requirement and the dependency on a non-standard-but-default configuration (CORS enabled with no origin list), means this is a real-but-conditional priority rather than a mass-exploitation threat. No signals are in direct conflict; the main caveat is that realized impact depends on whether the exposed Camel HTTP endpoints actually serve credential-gated sensitive data. |
| Exploit ScenarioDerived | An attacker hosts a malicious web page and lures a user who has an authenticated session (e.g., cookie-based) with a Camel platform-http-vertx endpoint that has CORS enabled but no explicit origin list. When the victim visits the page, attacker JavaScript issues a credentialed cross-origin fetch to the Camel endpoint; the handler reflects the attacker's origin and returns Access-Control-Allow-Credentials: true, letting the script read the authenticated response. No public exploit code was identified in the provided data, though the vendor's regression tests demonstrate the exact header behavior. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Credentialed cross-origin data exposure in Apache Camel's platform-http-vertx component (4.0.0 through 4.18.4, and 4.19.0 through 4.22.0) lets a malicious page read authenticated responses from a Camel HTTP endpoint. The CORS handler sets Access-Control-Allow-Credentials: true outside its origin check, and when camel.server.cors.origins is left unset it reflects the caller's own Origin back - the combination browsers permit for credentialed requests even though a literal wildcard is forbidden. Rated CVSS 6.5 (AV:N/AC:L/PR:N/UI:R/C:H/I:N/A:N) because a victim with an active session must be lured to an attacker-controlled page; no public exploit code or confirmed active exploitation was identified at time of analysis, and an explicit origin allow-list fully prevents it.
RemediationAI
Vendor-released patch: upgrade to Apache Camel 4.23.0, or to the fixed LTS releases 4.18.5 (4.18.x stream) and 4.22.1 (4.22.x stream); the fixes are in apache/camel PRs #25820, #25937 and #25938, detailed in the advisory at https://camel.apache.org/security/CVE-2026-84176.html and the 4.23.0 upgrade guide. If an immediate upgrade is not possible, set camel.server.cors.origins to the explicit list of origins that legitimately need access instead of leaving it unset - after this change (and as a compensating control on unpatched versions, the configuration alone is not sufficient there because the credentials header was still emitted outside the check) the handler grants credentials only to named origins, so the trade-off is administrative: every legitimate front-end origin must be enumerated and maintained, and any missed origin will have its credentialed cross-origin calls blocked by the browser. Alternatively disable CORS on the platform-http endpoint entirely if no browser-based cross-origin consumer exists, which removes the exposure at the cost of breaking legitimate cross-origin clients, and avoid relying on ambient cookie/HTTP-auth credentials for Camel HTTP endpoints reachable from browsers.
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-942 (Permissive Cross-domain Policy with Untrusted Domains), implemented in VertxPlatformHttpServerSupport.createCorsHandler() within the camel-platform-http-vertx component, which exposes Camel routes over the Vert.x HTTP server. Two coding errors compound: the Access-Control-Allow-Credentials: true header was written unconditionally for any request carrying an Origin header - including responses to origins the handler had just rejected - and the allow-list check treated an empty camel.server.cors.origins as "allow all", echoing the request's Origin value into Access-Control-Allow-Origin. The Fetch specification prohibits pairing a literal "*" with credentials, so reflecting the caller-supplied origin is the classic bypass that yields an effectively any-origin credentialed policy. Because browsers will then attach ambient credentials (cookies, HTTP auth) and expose the response body to the calling script, any origin can read cross-origin responses from the Camel endpoint. The upstream fix (apache/camel PR #25820, with follow-ups #25937 and #25938) sends the credentials header only when the operator explicitly configured a matching origin, still reflects the origin when no list is set but without granting credentials, and adds Vary: Origin whenever reflection occurs so shared caches cannot serve one origin's response to another. Backport PRs and new regression tests (testEngineCORSNoOriginListDoesNotAllowCredentials, testEngineCORSAllowsCredentialsOnlyForAConfiguredOrigin) accompany the change.
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:U/C:H/I:N/A:N
Network-reachable with low complexity and no attacker auth, but a victim must visit a malicious page (UI:R); impact is read-only disclosure of credentialed responses, so C:H, I:N, A:N.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
DescriptionCVE.org
Permissive Cross-domain Policy with Untrusted Domains vulnerability in Apache Camel Platform HTTP Vertx component.
This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.
createCorsHandler() set Access-Control-Allow-Credentials: true outside the origin check, so the header went out on every response to a request carrying an Origin header, including responses to origins the handler had just decided not to allow. When camel.server.cors.origins is unset, the handler treats every origin as allowed and echoes the caller's own Origin back as Access-Control-Allow-Origin. Together those produce the credentialed any-origin configuration that the fetch specification refuses to express as a literal wildcard, which is precisely why reflecting the origin is the usual way around that rule. A page on any origin could therefore make credentialed cross-origin requests to the Camel endpoint and read the responses.
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. Access-Control-Allow-Credentials is now sent only when the request origin matched an origin the operator actually configured. With no origin list the origin is still reflected, as before, but credentials are not granted, and Vary: Origin is now set whenever the origin is reflected so that a shared cache cannot serve one origin's response to another. For deployments that cannot upgrade immediately, set camel.server.cors.origins to the explicit list of origins that need access rather than leaving it unset.
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-104211
GHSA-vxj7-chgp-72vh
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB