Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIntercept hybrid-flow authorization code
-
DeliveryReplay code to token endpoint
-
ExploitSupply arbitrary code_verifier (PKCE unchecked)
-
ExecutionReceive public client's tokens
-
ImpactAccess victim account/resources
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization verification
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the OpenAM OAuth2/OIDC provider to be configured for OpenID Connect hybrid flows - specifically response_type values of 'code token', 'code id_token', or 'code token id_token' - because PKCE enforcement is applied only when response_type is exactly 'code'. The vulnerable token exchange must involve a public client, and the attacker must be able to intercept or otherwise obtain the issued authorization code. Limiting factors: exploitation is defeated if hybrid flows are not used, the attacker cannot capture the code, or the deployment is upgraded to 16.1.3+; user interaction to complete the authorization flow is also required, and attack complexity is raised by the need to position for code interception. |
| Impact | This is a credible mid-tier priority rather than a drop-everything emergency. The input CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N, 7.6 High) is internally consistent with the description: no privileges are required (PR:N), but exploitation depends on an attacker meeting a specific present condition (AT:P) - intercepting an authorization code - plus user interaction (UI:P) and higher attack complexity (AC:H). The high confidentiality and integrity impact (VC:H/VI:H) reflects full token/account takeover for the affected public client. Working against priority: there is no CISA KEV listing, no vendor/VulnCheck claim of active exploitation, and no EPSS score supplied, so there is no evidence of in-the-wild use. No public exploit is identified in the provided data. The real constraint is that the attacker must already be positioned to intercept the code (e.g., via a redirect/referer leak, logging, or network interception) AND the deployment must actually use OIDC hybrid flows with public clients - this is the signal that most limits mass exploitation. Net: a genuine authorization/PKCE-defeat flaw worth patching promptly for anyone running OIDC hybrid flows, but the interception precondition and absence of exploitation signals keep it below critical. |
| Exploit ScenarioDerived | An OpenAM deployment exposes an OIDC public client using a hybrid flow (e.g., response_type=code id_token). An attacker who obtains the authorization code - for instance by capturing it from a leaked redirect URI, referer header, or intercepted channel - replays it against the token endpoint supplying any arbitrary non-empty code_verifier, which PKCE should have rejected, and receives valid tokens for the victim's session. No public proof-of-concept is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 03, 2026
OAuth 2.0 PKCE enforcement bypass in OpenAM before 16.1.3 allows an attacker who intercepts an authorization code issued through OpenID Connect hybrid flows to redeem it for a public client's tokens using any non-empty code_verifier, because PKCE is applied only when response_type is exactly code. The attack is remote and unauthenticated from the token endpoint perspective but requires user interaction and the ability to intercept the code; deployments not using hybrid flows are not affected. No public exploit identified at time of analysis, and a vendor fix is available in OpenAM 16.1.3; this is a credible mid-tier priority rather than a drop-everything emergency.
RemediationAI
Upgrade OpenAM to 16.1.3 or later; this is the vendor-released patch that eliminates the PKCE enforcement gap. If immediate upgrade is not possible, disable or avoid OpenID Connect hybrid response types (code token, code id_token, code token id_token) for public clients and require response_type=code with PKCE for public-client flows; the trade-off is potential loss of hybrid-flow functionality or changes to client integration. Additionally, reduce code interception opportunities by enforcing TLS, using short authorization code lifetimes, strictly allowlisting redirect URIs, and monitoring token endpoint requests where hybrid-flow codes are redeemed with arbitrary non-empty code_verifier values. Refer to the vendor advisory https://github.com/OpenIdentityPlatform/OpenAM/security/advisories/GHSA-5p2f-7vcr-6vfh and VulnCheck advisory https://www.vulncheck.com/advisories/openam-before-16.1.3-pkce-enforcement-bypass-via-oauth-2.0-hybrid-flows.
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
OpenAM is an access management and identity provider whose OAuth2 Provider component handles OAuth 2.0 and OpenID Connect flows. PKCE is a security extension that binds an authorization code to a code_verifier through a code_challenge, preventing authorization code interception attacks against public clients. The flaw is in the enforcement logic: OpenAM before 16.1.3 checks only for response_type exactly equal to code, so hybrid response types that also return an authorization code - code token, code id_token, and code token id_token - bypass PKCE entirely. An intercepted hybrid-flow code can then be exchanged at the token endpoint by supplying any non-empty code_verifier because no challenge is bound to that code. CWE-285 (Improper Authorization) captures the missing authorization enforcement. The CPE cpe:2.3:a:openidentityplatform:openam:*:*:*:*:*:*:*:* confirms that all versions before 16.1.3 are in scope.
Know when Openam 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
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Network-reachable but requires intercepting a code and a hybrid-flow public client (AC:H) with a user completing the flow (UI:R); no privileges (PR:N); token takeover yields C:H/I:H, no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
OpenAM before 16.1.3 applies its OAuth2 Provider PKCE enforcement only to authorization requests whose response_type is exactly code, so codes issued through OpenID Connect hybrid flows (code token, code id_token, code token id_token) carry no bound challenge. An attacker who intercepts such a code can redeem it for a public client's tokens with any non-empty code_verifier.
Technical POC Analysis
CWE-285 (Improper Authorization), specifically a condition-check that is too narrow: OpenAM's realm-wide PKCE enforcement - the OAuth2 Provider setting "Code verifier parameter required", default-on…
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A PKCE enforcement gap in OpenAM (affecting versions before 16.1.3) could let an attacker who intercepts an OpenID Connect authorization code redeem it for tokens belonging to a public client, because PKCE is only validated when the response type is exactly 'code'. Only deployments that enable OIDC hybrid flows are exposed, so the practical blast radius is limited to those specific integrations, but any affected integration could yield unauthorized token issuance and downstream access to protected resources. There is no public exploit identified at time of analysis and exploitation requires user interaction plus successful interception of a code, making this a mid-tier priority for remediation planning rather than an emergency response.
Interim mitigations: disable OIDC hybrid response types (code id_token, code token, code id_token token) at the OpenAM OAuth2 provider and per-client level so only response_type=code with PKCE is accepted; strictly enforce exact-match redirect_uri allow-listing for public clients; enforce TLS for all OIDC endpoints and redirect legs to reduce authorization-code interception; monitor token endpoint activity for anomalous or duplicate code redemptions. A vendor fix is identified in OpenAM 16.1.3 per the advisory (the patch-tracking field still shows no vendor patch), so validate and apply that version once available.
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.
ForgeRock OpenAM before 13.5.1 allows LDAP injection via the Webfinger protocol. Rated high severity (CVSS 7.5), this vu
Open Access Management (OpenAM) is an access management solution that includes Authentication, SSO, Authorization, Feder
Unauthenticated remote attackers can instantiate arbitrary Java classes in OpenIdentityPlatform OpenAM before 16.1.3 thr
OpenAM (Open Source Edition) allows an attacker to bypass authentication and access unauthorized contents via unspecifie
XML External Entity (XXE) Vulnerability in /SSOPOST/metaAlias/%realm%/idpv2 in OpenAM - Access Management 10.1.0 allows
OpenAM Web Policy Agent (OpenAM Consortium Edition) provided by OpenAM Consortium parses URLs improperly, leading to a p
Cross-realm session disclosure in OpenAM before 16.1.3 allows an authenticated attacker holding delegated RealmAdmin pri
Authenticated delegated administrators in OpenIdentityPlatform OpenAM deployments prior to 16.1.3 can forcibly terminate
OpenAM Consortium Edition version 14.0.0 provided by OpenAM Consortium contains an open redirect vulnerability (CWE-601)
Open redirect vulnerability in OpenAM (Open Source Edition) 13.0 allows remote attackers to redirect users to arbitrary
Server-side request forgery in Open Identity Platform OpenAM before 16.1.3 allows an authenticated attacker holding the
Reflected cross-site scripting in OpenIdentityPlatform OpenAM before 16.1.3 allows unauthenticated attackers to run Java
EUVD-2026-92023
GHSA-mf8f-w84m-x4gc
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB