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
2DescriptionCVE.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
AnalysisAI
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.
Technical ContextAI
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.
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.
More in Apache Cxf
View allArbitrary certificate disclosure in Apache CXF's XKMS server lets remote attackers abuse an LDAP injection flaw (CWE-90)
Unsafe deserialization in Apache CXF's JMS transport allows any party able to publish to the service's JMS destination t
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
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
Authorization scope escalation in Apache CXF's OAuth2 Dynamic Client Registration endpoint allows any registering client
XML External Entity injection in Apache CXF's WS-Transfer module exposes SOAP endpoints to server-side file read and int
Double-spending of OAuth2 authorization codes in Apache CXF's JCacheCodeDataProvider enables issuance of multiple valid
Authentication bypass in Apache CXF's OIDC relying-party implementation allows network-accessible attackers to forge sel
Apache CXF's DefaultEncryptingCodeDataProvider allows captured OAuth 2.0 authorization codes to be redeemed an unlimited
Token revocation bypass in Apache CXF's DefaultEncryptingOAuthDataProvider allows revoked OAuth access and refresh token
Authorization Code Substitution in Apache CXF's OpenID Connect Relying Party implementation allows remote attackers to h
Same technique Information Disclosure
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-53860
GHSA-7hjx-472h-3f7q