Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify CXF OIDC relying party using setMaxAgeOffset
-
DeliveryObtain or reuse aged authentication session
-
ExploitRequest step-up-protected resource
-
Executionmax_age check silently passes
-
ImpactAccess sensitive function without re-authentication
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session expiration enforcement
|
| Exploitation Conditions | The relying party MUST configure the OIDC client (OidcClientCodeRequestFilter) with setMaxAgeOffset to enforce an authentication-freshness / max_age policy; without that setting the bug has no effect. The limiting factor is therefore this non-default, opt-in configuration - only CXF-based OIDC relying parties that actively depend on step-up/re-authentication are exposed. There is no attacker-side authentication requirement (PR:N), but exploitation value exists only where a re-authentication policy was expected to protect a sensitive operation, meaning impact is scoped to applications that intended to use max_age in the first place. |
| Impact | The input assigns CVSS 9.1 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N), which treats this as a remote, unauthenticated, low-complexity authentication bypass. However, the signals conflict with that severity. EPSS is very low at 0.23% (12th percentile), there is no CISA KEV listing, and no public exploit was referenced - so this is no public exploit identified at time of analysis, not active exploitation. More importantly, the description establishes that the flaw ONLY manifests for relying parties that explicitly call setMaxAgeOffset to enforce step-up/re-authentication; against default CXF OIDC deployments that do not use max_age there is no exposure. That configuration dependency contradicts the AC:L rating and argues for higher attack complexity, so the real-world priority is lower than the 9.1 headline suggests. This is a genuine security-control failure (silent bypass of a re-authentication policy) but its blast radius is gated by a non-default, opt-in setting - treat it as a targeted correctness/hardening fix rather than a mass-exploitable RCE-class emergency. Verify your own deployment: only CXF-based OIDC relying parties invoking setMaxAgeOffset are affected. |
| Exploit ScenarioDerived | An application uses Apache CXF's OIDC client filter with setMaxAgeOffset to force users to re-authenticate before sensitive actions (step-up auth). Because the max_age freshness check is inoperative, an attacker reusing or riding an old, still-valid authentication session is silently accepted as freshly authenticated, letting them reach protected operations that should have demanded a fresh login. No public exploit code is required - the control simply never fires. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Oct 15, 2026
Authentication bypass in Apache CXF's OidcClientCodeRequestFilter renders the max_age authentication-freshness check inoperative, allowing stale OIDC sessions to be accepted regardless of age when a relying party has configured setMaxAgeOffset to enforce step-up re-authentication. The defect stems from a milliseconds/seconds unit mismatch and inverted comparison polarity, silently defeating session-age validation; affected releases are Apache CXF 4.2.0 before 4.2.4, 4.0.0 before 4.1.9, and 3.6.x before 3.6.13. Vendor patches are available, no public exploit identified at time of analysis, and EPSS is low (0.23%), though exploitation requires the non-default setMaxAgeOffset setting, limiting real-world impact to deployments that opt into max_age policies.
Earlier versions of this analysis (1)
Authentication-freshness enforcement in Apache CXF's OIDC relying-party component silently fails, allowing stale sessions to be honored when deployments rely on setMaxAgeOffset to force re-authentication. Only applications that run the OidcClientCodeRequestFilter as an OIDC relying party AND explicitly configure a max-age offset are exposed; deployments that never set a freshness requirement are unaffected because there is no policy for the bug to defeat. An attacker who already holds a previously authenticated but expired-by-policy session can continue using it, bypassing step-up authentication; the assessed vector (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N) confirms low integrity impact only, with a high attack complexity and a required prior authenticated session. No CVSS score, EPSS value, CISA KEV listing, or public exploit code was supplied, so no public exploit identified at time of analysis and quantitative exploitation signals cannot be cross-referenced.
RemediationAI
Upgrade to Apache CXF 4.2.4, 4.1.9, or 3.6.13, choosing the fix for your release line (4.2.x, 4.1.x, or 3.6.x). These releases correct the unit mismatch and inverted comparison in OidcClientCodeRequestFilter. If upgrading is not immediately possible, assess whether your application configures setMaxAgeOffset; if it does, consider temporarily adding application-level session-freshness checks or restricting sensitive operations to recently authenticated users, but note that removing the setMaxAgeOffset configuration would also remove the intended step-up policy and is not a substitute for patching. Refer to the vendor advisories at https://lists.apache.org/thread/p1r9t4xl8ny7rg8wmj8nrygx35ds6vcs and https://seclists.org/oss-sec/2026/q4/106 for upgrade guidance.
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
The vulnerability resides in Apache CXF's OIDC client support, specifically OidcClientCodeRequestFilter, which is used by relying parties to process OpenID Connect authorization code flows. OpenID Connect's max_age parameter (expressed in seconds) requests that the identity provider re-authenticate the user if the current session is older than that value; the filter's setMaxAgeOffset setting is used to allow for clock skew or similar offsets. In the vulnerable versions, the freshness check compares a session timestamp (in milliseconds) against the configured max_age value (in seconds) without unit conversion and inverts the comparison result, so the check always passes and any session age is accepted. This is an instance of CWE-613 (Insufficient Session Expiration), where session expiration enforcement is missing or incorrect. The vulnerable code path is only exercised when an application explicitly configures setMaxAgeOffset; default CXF deployments that do not use this setting are unaffected. The CPE cpe:2.3:a:apache_software_foundation:apache_cxf:*:*:*:*:*:*:*:* identifies all pre-fix versions of Apache CXF as potentially affected.
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:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Network-reachable with no attacker privileges (PR:N), but exploitation depends on the non-default setMaxAgeOffset configuration and a pre-existing stale session, so AC:H; no availability impact.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
3DescriptionCVE.org
The max_age authentication-freshness check in OidcClientCodeRequestFilter was inoperative due to a milliseconds/seconds unit mismatch and an inverted comparison polarity. Any relying party using setMaxAgeOffset to enforce re-authentication would silently accept sessions of any age, bypassing step-up authentication policies. Users are recommended to upgrade to versions 4.2.4 or 4.1.9 or 3.6.13, which fix this issue.
Executive ViewAI
Apache CXF contains an authentication bypass that can defeat OIDC session-freshness enforcement, allowing stale sessions to be accepted in deployments that use non-default max_age settings. This weakens step-up re-authentication for organizations that rely on it, potentially permitting continued access without re-validation and increasing the risk of unauthorized use of stale sessions. No public exploit identified at time of analysis, but affected teams should prioritize remediation based on their use of max_age policies.
Apply vendor patch.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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
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 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
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
Open redirect in Apache CXF's OIDC relying-party component lets remote, unauthenticated attackers steer users to an atta
EUVD-2026-95694
GHSA-8ph5-3q2c-4cc7
NVD
CVE.org
EPSS
Exploit-DB