Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessProbe /.well-known paths for unexpected responses
-
DeliveryConfirm state-changing OAuth endpoints answer at /.well-known aliases
-
ExploitCraft POST to /.well-known/token or /.well-known/register
-
ExecutionWAF/rate-limit rules scoped to /oauth prefix not triggered
-
ImpactInteract with OAuth protocol endpoints without edge-layer enforcement
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Alternate path protection
|
| Exploitation Conditions | Exploitation requires that the target deployment has configured edge controls - WAF rules, rate-limiting policies, IP allow/block lists, or authentication requirements - scoped specifically to the |
| Impact | The CVSS 4.0 score of 6.3 with AT:P (Attack Requirements: Present) accurately captures that exploitation is conditional rather than universal: deployments with no path-differentiated edge controls face no incremental risk because both URL prefixes were already equally exposed to the underlying application. The real exposure is narrower but operationally significant - any operator who believed WAF-enforced rate limits or path-scoped authentication challenges on |
| Exploit ScenarioDerived | An attacker scanning a Phoenix application observes that |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 07, 2026
OAuth2 state-changing protocol endpoints in ash_authentication_oauth2_server (versions 0.1.0 through 0.3.0) are silently reachable under a second, unintended URL prefix (/.well-known) due to Phoenix's forward macro stripping the matched prefix before dispatch, leaving both /oauth and /.well-known mounts backed by the same ProtocolRouter route table. POST requests to /register, /token, and /revoke therefore answer under /.well-known/register, /.well-known/token, and /.well-known/revoke, bypassing any WAF rules, rate-limiting policies, or authentication exemptions scoped exclusively to the canonical /oauth prefix. No public exploit has been identified and the vulnerability is absent from CISA KEV; vendor patch version 0.3.1 is available.
RemediationAI
Upgrade to ash_authentication_oauth2_server 0.3.1, which introduces a restrict_well_known_mount/2 plug in ProtocolRouter. The fix passes well_known?: true to the /.well-known forward, causing the plug to return HTTP 404 for any request under that mount that is not a GET against one of the three permitted metadata paths (oauth-authorization-server, openid-configuration, oauth-protected-resource); POST requests to /register, /token, and /revoke are blocked at the routing layer. The exact fix commit is a72972d7ed3eb74c05dfa0653a258ef14454459a, referenced in the vendor advisory at https://github.com/ash-project/ash_authentication_oauth2_server/security/advisories/GHSA-wwxg-h779-3wf4. If immediate upgrade is not possible, configure the upstream web server or WAF to reject all HTTP methods other than GET and HEAD on /.well-known/* paths; this eliminates the state-changing alias with negligible operational impact, since all conforming discovery clients use GET-only requests against /.well-known resources.
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
ash_authentication_oauth2_server (CPE: cpe:2.3:a:ash-project:ash_authentication_oauth2_server) is an Elixir library that implements an OAuth2 authorization server as a set of Phoenix plug-based routers. Phoenix's forward/4 macro strips the matched URL prefix before dispatching requests to the forwarded plug module, meaning any plug module forwarded at two different path prefixes exposes its complete internal route table under both mounts. The library's oauth2_server_protocol_routes/1 macro previously forwarded the same ProtocolRouter at both /oauth (full protocol routes) and /.well-known (intended for metadata discovery documents only) without passing any flag to differentiate behaviour at dispatch time. CWE-424 (Improper Protection of Alternate Path) describes this root cause precisely: access controls guarding the intended canonical path are not applied to an alternate path that reaches the same underlying functionality. The /.well-known namespace is defined by RFC 5785 as a host-level metadata space and is conventionally restricted to GET-only discovery documents (OpenID Connect configuration, OAuth Authorization Server metadata), so edge security tools routinely allow-list it without authentication or rate-limiting requirements - exactly the gap this routing design inadvertently created.
Know when Ash Authentication Oauth2 Server 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:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
AC:H maps the CVSS 4.0 AT:P precondition (path-scoped edge controls required); no confidentiality impact; only low integrity from edge-control bypass.
Primary rating from Vendor (EEF).
CVSS VectorVendor: EEF
DescriptionCVE.org
Improper Protection of Alternate Path vulnerability in ash-project ash_authentication_oauth2_server exposes the state-changing OAuth endpoints under an unintended URL prefix, bypassing controls scoped to the canonical prefix.
oauth2_server_protocol_routes/1 in AshAuthentication.Phoenix.Oauth2Server.Router forwards the same ProtocolRouter at both the /oauth prefix and the /.well-known prefix. Phoenix forward strips the matched prefix before dispatch, so the full route table answers under both mounts, and POST /register, POST /token, and POST /revoke are reachable as /.well-known/register, /.well-known/token, and /.well-known/revoke. Edge controls such as WAF rules, rate limits, or authentication exemptions written against the /oauth paths, or that allow-list /.well-known as unauthenticated, do not apply to the alias.
This issue affects ash_authentication_oauth2_server: from 0.1.0 before 0.3.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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Unauthenticated resource exhaustion in ash_authentication_oauth2_server 0.3.0 enables any remote attacker to grow databa
Dynamic Client Registration (DCR) bypass in ash_authentication_oauth2_server versions 0.1.0 through 0.3.0 allows unauthe
WWW-Authenticate header parameter injection in ash_authentication_oauth2_server (versions 0.1.3 through 0.3.0) allows un
SSRF in ash_authentication_oauth2_server 0.3.0 allows an attacker who controls both an OAuth2 client's metadata URL and
Multi-tenant OAuth2 metadata cross-tenant leakage in ash_authentication_oauth2_server (versions 0.1.3 through before 0.3
EUVD-2026-72536
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB