GHSA-m6q9-jx43-w2vp
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeploy two OAuth profiles sharing endpoint and client ID
-
DeliveryFirst profile resolves and caches its token
-
ExploitSecond profile served the cached cross-scope token
-
ExecutionOutbound call carries wrong-scope bearer token
-
ImpactUnintended service replays broader-authority token
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V3 - Web Frontend Security Cache-Control for sensitive pages
|
| Exploitation Conditions | Requires a single JVM deployment that defines more than one Camel OAuth profile (via components such as camel-openai, camel-langchain4j-agent, camel-huggingface, camel-docling, camel-a2a, camel-spring-ai-chat, the IBM watsonx components, or direct use of the OAuthClientAuthenticationFactory SPI) where the profiles share the same token endpoint and client ID but differ in requested scope or client secret, with token caching left at its default-enabled state. Limiting factors: the vulnerable configuration is set by the trusted deployment, so no untrusted attacker input is involved; both profiles' token requests must overlap while a cached token is still valid; the benefiting party is the service that receives the mis-scoped token, and impact is bounded to that token's scope. Affects org.apache.camel:camel-oauth 4.19.0 before 4.22.2; 4.18.x and earlier never shipped the resolver and are unaffected. |
| Impact | Signals point consistently to a lower-tier, conditional issue rather than an urgent one. The vendor CVSS 3.1 score is 4.8 (medium) with vector AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N: although network-reachable and nominally unauthenticated, the high attack complexity reflects that the flaw only manifests in a specific multi-profile deployment, and impact is limited to low confidentiality and low integrity with no availability effect. No EPSS score is present in the supplied data, so exploitation probability cannot be quantified. The vuln.today decision label is 'awaiting_data', and there is no CISA KEV listing and no public exploit identified at time of analysis - the GitHub pull-request references (26681, 27779) and the Jira ticket are the vendor's remediation, not proof-of-concept exploit code. The threat model is also atypical: the description states that profiles are configured by the trusted deployment and no untrusted input reaches the cache, so the party that benefits is an unintended downstream service that receives a token issued for a different scope or secret and could replay it within that scope. Taken together these signals indicate a real but narrow correctness/least-privilege weakness, not a high-real-risk mass-exploitation candidate; EPSS being absent (not low) should be noted rather than assumed benign. |
| Exploit ScenarioDerived | An integration app configures two Camel OAuth profiles (for example feeding camel-openai and an IBM watsonx component) that point at the same token endpoint and client ID but request different scopes. With default token caching on, whichever profile resolves first populates the shared static cache, and the second profile's outbound call is sent carrying the first profile's token - potentially a broader scope or a token whose audience targets a different service. No public exploit code is identified; realizing the cross-scope token requires the specific shared-client, differing-scope/secret configuration (reflected by CVSS AC:H). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 23, 2026
Cross-scope OAuth token reuse in Apache Camel's camel-oauth component (org.apache.camel:camel-oauth 4.19.0 through 4.22.1) lets a profile be handed a bearer token that was obtained under a different profile's scope or client secret. The resolver keeps tokens in a static, JVM-wide cache keyed only on the token endpoint and client ID, so two profiles sharing an identity provider client but differing in requested scope or secret collide on one entry. The result is an outbound call carrying a token that grants broader authority than the calling profile was configured for, or that was issued by a different client secret; the trigger requires a deployment defining multiple colliding profiles with caching (default-enabled) left on, and no public exploit has been identified at time of analysis.
RemediationAI
Vendor-released patch: Apache Camel 4.23.0 fixes the issue, and deployments on the 4.22.x stream should move to 4.22.2, which contains the corrected cache keying on token endpoint, client ID, SHA-256 secret fingerprint and requested scope. There is no fix for 4.19.x through 4.21.x; those lines are end-of-life and must be upgraded to a supported release. Where an upgrade cannot happen immediately, the vendor's documented workaround is to disable token caching on every OAuth profile that shares a token endpoint and client ID with another profile, by setting camel.oauth.NAME.cache-tokens=false for a named profile or camel.oauth.cache-tokens=false for the default profile, so each resolution requests a token with that profile's own scope and secret; the trade-off is a token request on every resolution, adding load on the identity provider and latency to outbound calls. Alternatively, register a separate client at the identity provider for each profile that needs a different scope or client secret, so no two such profiles share a client ID, which removes the collision without disabling caching but requires additional IdP client provisioning and credential management. Full details are in the vendor advisory at https://camel.apache.org/security/CVE-2026-94386.html.
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
Apache Camel's OAuthClientCredentialsTokenResolver performs the OAuth 2.0 client credentials grant on behalf of components that authenticate outbound calls through a named OAuth profile - camel-openai, camel-langchain4j-agent, camel-huggingface, camel-docling, camel-a2a, camel-spring-ai-chat, the IBM watsonx components - and of applications calling the OAuthClientAuthenticationFactory SPI directly. The root cause is the CWE class of caching sensitive information with an insufficient cache key: the resolver stored obtained tokens in a static map shared by every resolver instance and every CamelContext in the JVM, keyed on the token endpoint and client ID only, even though the token request also carries the client secret and the requested scope. Profiles that agreed on endpoint and client ID but differed in scope or secret therefore mapped to one entry; whichever resolved first populated it and the others received that token for its remaining lifetime without issuing a request under their own configuration, because token caching is on by default and pointing several profiles at one IdP client is ordinary use of the profile feature. Identity providers that derive audience from scope make the consequence more than a scope broadening - the mis-issued token can be for an entirely different downstream service. The profiles are deployment-configured and trusted, so no untrusted input reaches the cache; the beneficiary is the receiving service, which if hostile or compromised can replay the token within its scope. The assessed vector (AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N) reflects that the preconditions are configuration-dependent and the impact is bounded to the token's scope. Fixed builds re-key the cache on every token-request input: endpoint, client ID, a SHA-256 fingerprint of the client secret (so the raw secret is not retained), and the requested scope, so equivalent profiles still share one token while divergent ones do not.
Know when Java 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
Token travels over the network (AV:N); only a specific shared-client, differing-scope/secret multi-profile deployment triggers it (AC:H); the unintended recipient needs no prior privileges (PR:N); bounded cross-scope token exposure gives C:L/I:L and no availability impact.
Primary rating from Vendor (CNA).
CVSS VectorVendor
Lifecycle Timeline
2Description PRE-NVD
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.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
EUVD-2026-109957
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB