Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid authorization code via OAuth2 flow
-
DeliverySend concurrent token-exchange requests to /oauth2/token
-
ExploitRequests pass TOCTOU validity check simultaneously
-
ExecutionMultiple access tokens issued before invalidation
-
ImpactUse additional tokens for unauthorized session access
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture TOCTOU prevention
|
| Exploitation Conditions | Exploitation requires that the Apache CXF instance be configured as an OAuth2 authorization server using JCacheCodeDataProvider as the authorization code store - deployments using alternative code providers (e.g., database-backed providers) are not affected. The attacker must possess a valid, unredeemed authorization code for the target deployment, obtained through the normal OAuth2 flow, phishing of a redirect URI, CSRF manipulation, or code interception. Exploitation further requires the ability to issue multiple concurrent HTTP requests to the token endpoint within the narrow window between code validation and invalidation. There is no requirement for prior authentication to the CXF service beyond code possession. The race window is bounded by network latency and JCache operation time, making exploitation harder over high-latency connections but feasible on co-located or low-latency attackers. |
| Impact | No NVD CVSS score has been assigned at time of analysis; the following assessment is independently derived. The vulnerability is network-exploitable but carries High attack complexity due to the inherent timing requirement of a race condition - the attacker must submit multiple concurrent token-exchange requests within a very narrow window. The attacker must already possess a valid authorization code, introducing a prerequisite that limits opportunistic exploitation. EPSS data is unavailable; KEV status is negative and no POC has been published. The practical impact is confidentiality-focused: unauthorized issuance of access tokens means an attacker can impersonate the code holder's session or accumulate tokens for extended unauthorized access. For environments using Apache CXF as an OAuth2 authorization server, this is a meaningful risk because the authorization code grant is the most common OAuth2 flow. However, the race-window constraint and the prerequisite of code possession make mass exploitation unlikely - real-world risk is elevated for targeted attacks where an adversary has already obtained a code via phishing, CSRF, or redirect manipulation. |
| Exploit ScenarioDerived | An attacker who has legitimately obtained or intercepted a valid OAuth2 authorization code sends a high volume of simultaneous token-exchange POST requests to the CXF token endpoint before the first request completes its invalidation of the code. Because JCache reads and deletes are non-atomic, multiple requests pass the validity check concurrently and each receives a distinct, valid access token. The attacker now holds multiple tokens and can use them across parallel sessions for unauthorized resource access. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 06, 2026
Double-spending of OAuth2 authorization codes in Apache CXF's JCacheCodeDataProvider enables issuance of multiple valid access tokens from a single code. Concurrent requests to the token endpoint during the brief window between code validation and invalidation exploit the TOCTOU race condition (CWE-367), allowing an attacker in possession of a valid authorization code to obtain additional access tokens beyond the one they are entitled to. No public exploit has been identified at time of analysis, and fixed versions are available across all maintained branches.
RemediationAI
Upgrade to Apache CXF 4.2.3, 4.1.8, or 3.6.12, which resolve the race condition by making authorization code redemption atomic. The vendor advisory is available at https://lists.apache.org/thread/7q08mz8bcbosp25wok7gr537zlp15mfz. If an immediate upgrade is not feasible, a compensating control is to replace JCacheCodeDataProvider with a database-backed authorization code store that enforces atomic compare-and-delete semantics (e.g., via SELECT FOR UPDATE or equivalent), which eliminates the TOCTOU window at the persistence layer. Alternatively, placing a distributed lock or serialization layer in front of the token endpoint for code exchanges would prevent concurrent redemption attempts, though this introduces latency and a potential single point of failure. Rate-limiting the token endpoint per client_id and code value can reduce the exploitability window but does not eliminate it.
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 CXF (CPE: cpe:2.3:a:apache_software_foundation:apache_cxf:*:*:*:*:*:*:*:*) is a widely-deployed Java framework for building SOAP and REST web services, including OAuth2 authorization server functionality. The JCacheCodeDataProvider component manages authorization code storage and redemption using the JCache (JSR-107) caching API. The root cause is CWE-367 (Time-of-Check Time-of-Use): the check confirming an authorization code is unredeemed and the subsequent invalidation of that code are not performed as an atomic operation. In the OAuth2 authorization code flow, codes must be single-use per RFC 6749 Section 4.1.2. Because JCache operations are non-atomic in the affected implementation, a window exists between the validity check and the deletion where multiple concurrent redemption requests all pass the check before any invalidation occurs, each receiving a distinct, valid access token.
Know when Apache Cxf 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:H/I:H/A:H
Network-exploitable but AC:H due to race window timing; code possession is a prerequisite but not a privilege level; confidentiality high for unauthorized token issuance, integrity low, no availability impact.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
1DescriptionCVE.org
A race condition in JCacheCodeDataProvider allows an attacker to redeem a single authorization code multiple times via concurrent requests, resulting in the issuance of multiple distinct, valid access tokens. Users are recommended to upgrade to versions 4.2.3, 4.1.8 or 3.6.12, which fix this issue.
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 Cxf
View allUnsafe deserialization in Apache CXF's JMS transport allows any party able to publish to the service's JMS destination t
Arbitrary certificate disclosure in Apache CXF's XKMS server lets remote attackers abuse an LDAP injection flaw (CWE-90)
Token validation bypass in Apache CXF's STSTokenValidator and Security Token Service (STS) allows unauthenticated remote
Man-in-the-middle attackers can impersonate any TLS server contacted by Apache CXF's optional Netty-based HTTP client tr
XML External Entity injection in Apache CXF's WSDL import processing allows attackers who can influence imported WSDL or
Denial of service persists in Apache CXF due to an incomplete remediation of CVE-2026-50645, allowing unauthenticated ne
XML signature wrapping in Apache CXF's JAX-RS XML Security module allows remote, unauthenticated attackers to have unsig
Trust bypass in Apache CXF's STSTokenValidator allows a remote, unauthenticated attacker to have a forged SAML assertion
A remote, unauthenticated attacker can exhaust server heap memory in Apache CXF by submitting a small (kilobyte-scale) D
Remote code execution in Apache CXF (versions before 3.6.11, 4.0.0-4.1.5, and 4.2.0) arises because the fix for CVE-2025
Authorization scope escalation in Apache CXF's OAuth2 Dynamic Client Registration endpoint allows any registering client
Open redirect in Apache CXF's OIDC relying-party component lets remote, unauthenticated attackers steer users to an atta
EUVD-2026-53862
GHSA-4qr2-3mpc-grqm
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB