Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain or compromise registered OAuth2 client_secret
-
DeliveryCraft signed request JWT with attacker-controlled code_challenge
-
ExploitInitiate OAuth2 authorization code flow targeting victim user
-
InstallCXF JwtRequestCodeFilter overwrites PKCE parameters with JWT values
-
C2User authorizes, server issues authorization code bound to attacker's code_challenge
-
ExecuteIntercept authorization code
-
ImpactRedeem code with attacker-controlled code_verifier, bypassing PKCE
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
|
| Exploitation Conditions | The attacker must be a registered OAuth2 client in the Apache CXF deployment - or must have obtained the client_secret of an existing registered client - in order to produce a validly-signed JWT request object. The server must be configured to use the JwtRequestCodeFilter with JWT request object support (RFC 9101); CXF deployments not using this filter are not affected. The vulnerability only undermines security where PKCE (code_challenge/code_challenge_method) or OIDC replay controls (nonce, state) are in use; deployments that do not rely on these mechanisms gain no meaningful security degradation from this issue. Exploitation is further constrained by the requirement that the attacker obtain or intercept the resulting authorization code from the user's browser flow, typically requiring an additional weakness such as an open redirect or referrer exposure. What limits exploitation: anonymous or external attackers without client credentials cannot exploit this vulnerability; server deployments not using the JwtRequestCodeFilter are entirely unaffected; and the attack requires both client credential access and a mechanism to intercept the authorization code. |
| Impact | No CVSS score or EPSS data has been assigned by the reporter or NVD, so risk must be inferred from description and context. The precondition of a known or compromised client_secret meaningfully constrains the attack surface relative to a fully unauthenticated flaw - only registered OAuth2 clients, or parties who have stolen client credentials, can produce the required signed JWT. However, for deployments where client credentials are shared, leaked, or where the attacker is a legitimate but malicious client, the impact is significant: PKCE bypass enables authorization code interception and replay, potentially granting unauthorized access to protected resources or enabling user impersonation. The vulnerability is scoped specifically to deployments using CXF's JwtRequestCodeFilter with JWT request object support (RFC 9101); CXF installations not using this filter are unaffected. KEV status is not listed and no POC has been identified, suggesting exploitation has not been widely observed. The absence of a CVSS vector means attack vector, complexity, and privilege requirements are inferred from the description alone - these should be verified against the vendor advisory. |
| Exploit ScenarioDerived | An attacker who operates or has compromised a registered OAuth2 client in a CXF deployment uses that client's client_secret to sign a crafted request JWT containing attacker-chosen values for code_challenge and code_challenge_method. The attacker initiates an authorization code flow targeting a legitimate user; because JwtRequestCodeFilter copies these JWT-supplied values into the authorization parameter map, the server records the attacker's code_challenge rather than the one from the outer HTTP request. If the attacker subsequently intercepts the resulting authorization code (e.g., via an open redirect or referrer leakage), they can redeem it using the corresponding code_verifier they control, bypassing PKCE protection entirely. No public POC has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 06, 2026
Apache CXF's JwtRequestCodeFilter blindly copies all claims from a validly-signed JWT request object into the OAuth2 authorization parameter map, including security-sensitive fields that must not be client-controlled: code_challenge, code_challenge_method, nonce, and state. Affected are all Apache CXF deployments using this filter for OAuth2/OIDC authorization code flows prior to versions 4.2.3, 4.1.8, and 3.6.12. An OAuth2 client with a known or compromised client_secret can craft a signed request JWT that overrides the PKCE parameters established in the outer HTTP request, effectively nullifying PKCE authorization code binding and OIDC replay protection. No public exploit code or CISA KEV listing has been identified at time of analysis.
RemediationAI
Upgrade Apache CXF to version 4.2.3, 4.1.8, or 3.6.12 depending on the active branch - these are the vendor-released patched versions confirmed by the advisory at https://lists.apache.org/thread/drcq4chmt0btx86f17o47j17r378hzpw. If an immediate upgrade is not feasible, remove or disable the JwtRequestCodeFilter from the CXF OAuth2 configuration; this eliminates the vulnerable code path but also disables RFC 9101 JWT-secured authorization request support for all clients, which may break integrations relying on that feature. As an additional hardening measure, audit and rotate client_secrets for all registered OAuth2 clients to reduce the ability of an attacker to produce validly-signed JWTs, though this does not fully remediate the underlying vulnerability - it only raises the bar for exploitation.
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 is an open-source Java services framework supporting JAX-WS, JAX-RS, and OAuth2/OpenID Connect server capabilities. The JwtRequestCodeFilter implements support for JWT-Secured Authorization Requests (JAR, RFC 9101), in which OAuth2 clients may transmit request parameters as a signed JWT to ensure parameter integrity. CWE-345 (Insufficient Verification of Data Authenticity) applies because the filter merges all JWT claims into the server-side authorization parameter map without excluding parameters that should be authoritative only when supplied in the outer HTTP request - specifically the PKCE code_challenge and code_challenge_method (RFC 7636), and the OIDC nonce and state values. PKCE exists to cryptographically bind an authorization code to the initiating client; if the attacker controls the code_challenge value accepted by the server, they can later produce the matching code_verifier and redeem an intercepted authorization code. The affected CPE is cpe:2.3:a:apache_software_foundation:apache_cxf:*:*:*:*:*:*:*:*, spanning all branches prior to the fixed releases.
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
Sources disagree (Low–High)AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Network vector; high complexity requires compromised client_secret; low privileges as a registered OAuth client; user interaction needed for authorization code flow; scope changes as PKCE and OIDC controls are undermined; high C/I from auth code theft enabling impersonation.
vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.
CVSS VectorVendor: apache
Lifecycle Timeline
1DescriptionCVE.org
Apache CXF's JwtRequestCodeFilter copies all claims from a signed request JWT into the authorization parameter map without excluding security-sensitive parameters. A client that can produce a validly-signed request JWT (e.g., one whose client_secret is known or compromised) can thereby substitute the code_challenge, code_challenge_method, nonce, and state values that were set in the outer HTTP request, undermining PKCE integrity and OpenID Connect replay protection. Users are recommended to upgrade to versions 4.2.3 or 4.1.8 or 3.6.12, which fix this issue.
Articles & Coverage 1
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-53860
GHSA-7hjx-472h-3f7q
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB