Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
PR:L assumed because production DCR endpoints commonly require an initial access token; S:C because self-assigned scopes impact downstream resource servers beyond the AS itself; A:N as no availability impact is described.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
2DescriptionCVE.org
In Apache CXF's OAuth2 Dynamic Client Registration endpoint, the authorization server accepts and stores the scope value supplied in the client registration request verbatim, without validating it against an AS-defined allowlist. This could lead to a client self-assigning privileged scopes at registration time. 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
Authorization scope escalation in Apache CXF's OAuth2 Dynamic Client Registration endpoint allows any registering client to self-assign privileged scopes by supplying arbitrary scope values in the registration request, which the authorization server stores verbatim without validating against a server-defined allowlist. Affected versions span the 3.x, 4.1.x, and 4.2.x release lines; patched releases 3.6.12, 4.1.8, and 4.2.3 are available per the Apache advisory. No public exploit or active exploitation has been identified at time of analysis, but the straightforward exploitation path - crafting a single registration request - makes this a meaningful authorization bypass risk for any deployment exposing CXF's OAuth2 AS with Dynamic Client Registration enabled.
Technical ContextAI
Apache CXF is a widely-used Java open-source web services framework supporting SOAP, REST, WS-*, and OAuth2. The vulnerability resides in its OAuth2 authorization server (AS) component's implementation of the Dynamic Client Registration Protocol (RFC 7591). RFC 6749 and OAuth2 best practices mandate that an AS validate client-requested scopes against a server-controlled allowlist before granting or storing them; this validation step is absent in CXF. CWE-304 (Missing Critical Step in Authentication/Authorization) accurately describes the root cause: the AS omits the required scope validation during the client registration flow, persisting whatever scope string the registering client supplies. The affected CPE is cpe:2.3:a:apache_software_foundation:apache_cxf:*:*:*:*:*:*:*:*, indicating all versions prior to the patched releases across the 3.x, 4.1.x, and 4.2.x branches.
RemediationAI
Upgrade Apache CXF to version 4.2.3, 4.1.8, or 3.6.12 as appropriate for the deployed release line, per the Apache security advisory at https://lists.apache.org/thread/2l1r16g79tpxd7fzrzr2q9oscwrjgljs. If immediate patching is not feasible, restrict or disable the Dynamic Client Registration endpoint (commonly at a path such as /services/oauth2/register) via WAF rules or network-layer ACLs so that only trusted, pre-authorized clients can reach it - note this breaks any automated client onboarding workflows that rely on open DCR. As a post-incident step regardless of patching status, audit all currently registered OAuth2 clients in the CXF AS for unexpectedly broad or privileged scope assignments, as attackers may have already registered clients with elevated scopes prior to remediation.
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
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
Apache CXF's JwtRequestCodeFilter blindly copies all claims from a validly-signed JWT request object into the OAuth2 aut
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 weakness CWE-304 – Missing Critical Step in Authentication
View allSame technique Information Disclosure
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-53861
GHSA-pwwh-3685-58r7