Medium severity · published Sep 7, 2026
CVE-2026-82754
ash_authentication_oauth2_server aliases every protocol endpoint under /.well-known, bypassing path-scoped controls
6.3
CVSS
0.7%
EPSS
No
On KEV
Description
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.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.7% · higher than 53% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
AS
ash_authentication_oauth2_server · ash-project
0.1.0 before 0.3.1; 855b578037c5ded18e8a6e60f42e56bde4905fae before a72972d7ed3eb74c05dfa0653a258ef14454459a · source: vendor
Affected product
AS
ash_authentication_oauth2_server
ash-project
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-82754
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-82754
cna.erlef.org
https://cna.erlef.org/cves/CVE-2026-82754.html
github.com
https://github.com/ash-project/ash_authentication_oauth2_server/commit/a72972d7ed3eb74c05dfa0653a258ef14454459a
github.com
https://github.com/ash-project/ash_authentication_oauth2_server/security/advisories/GHSA-wwxg-h779-3wf4
osv.dev
https://osv.dev/vulnerability/EEF-CVE-2026-82754
More from ash_authentication_oauth2_server
8.2
CVE-2026-82753
Unauthenticated authorize requests create unbounded, never-expiring CIMD client rows and cache entries in ash_authentication_oauth2_server
6.3
CVE-2026-82758
ash_authentication_oauth2_server treats an empty resolved secret as valid, opening the gated Dynamic Client Registration endpoint
6.3
CVE-2026-82757
ash_authentication_oauth2_server CIMD fetcher classifies IPv4-in-IPv6 and site-local addresses as public, allowing SSRF
6.3
CVE-2026-82756
ash_authentication_oauth2_server interpolates a tenant-derived value into the WWW-Authenticate challenge without escaping, allowing header parameter injection
6.3
CVE-2026-82755
ash_authentication_oauth2_server serves tenant-specific OAuth metadata as publicly cacheable without Vary, enabling cross-tenant confusion
