CVE-2026-82754
MediumCVSS 6.3Summary
Vulnerability in ash_authentication_oauth2_server exposes state-changing OAuth endpoints under an unintended URL prefix, bypassing controls scoped to the canonical prefix. Routes are mounted under both /oauth and /.well-known, allowing access to /register, /token, and /revoke via alternative paths.
Risk Assessment
An attacker can bypass security controls such as WAF rules, rate limits, or authentication exemptions that apply only to /oauth paths, increasing the risk of unauthorized access.
Recommendation
Upgrade ash_authentication_oauth2_server to version 0.3.1 or later, which includes a fix that prevents mounting routes under the unintended prefix.
Other vulnerabilities in ash_authentication_oauth2_server
See all- CVE-2026-82758Medium
Vulnerability in ash_authentication_oauth2_server allows an unauthenticated attacker to register OAuth clients even when Dynamic Client Registration is gated by an initial access token. The resolve_secret/3 function treats any return other than {:ok, _} or :error as a valid secret, allowing bypass of protections.
- CVE-2026-82757Medium
SSRF vulnerability in ash_authentication_oauth2_server allows an attacker who controls a client metadata URL and its DNS to make the server connect to internal or loopback addresses. The public_ip?/1 function incorrectly classifies certain address ranges as public, allowing policy bypass.
- CVE-2026-82756Medium
Vulnerability in ash_authentication_oauth2_server allows an unauthenticated attacker to inject arbitrary authentication parameters into the WWW-Authenticate challenge header. The resource_metadata value is interpolated without proper escaping, allowing header modification and redirecting clients to a malicious authorization server.
- CVE-2026-82755Medium
Vulnerability in ash_authentication_oauth2_server allows a shared HTTP cache to serve one tenant's OAuth discovery metadata to another tenant's clients. Responses with metadata are marked as Cache-Control: public without a Vary header, causing responses to be cached and served to other tenants.
- CVE-2026-82753High
Resource exhaustion vulnerability in ash_authentication_oauth2_server. An unauthenticated attacker can exhaust database storage and memory by sending requests to the /authorize endpoint with many distinct client_id URLs, creating permanent client rows and caching documents without limits.
Original NVD description (English source)
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.

