CVE-2026-82756
MediumCVSS 6.3Summary
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.
Risk Assessment
An attacker can redirect OAuth clients to their own authorization server, potentially leading to theft of authorization codes and tokens.
Recommendation
Upgrade ash_authentication_oauth2_server to version 0.3.1 or later, which includes a fix for proper output escaping in the header.
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-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-82754Medium
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.
- 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 Encoding or Escaping of Output vulnerability in ash-project ash_authentication_oauth2_server allows an unauthenticated attacker to inject arbitrary authentication parameters into the WWW-Authenticate challenge header. BearerPlug and RequireScopePlug built the Bearer resource_metadata="..." challenge by interpolating a resource_metadata URL derived from the request tenant directly into the quoted value. In a multi-tenant application that sets the Ash tenant from request-controlled data (a subdomain, the Host, a path segment, or a header), a tenant containing a " closes the quoted value and appends attacker-chosen auth-params, including a second resource_metadata URL pointing at an attacker-controlled authorization server that spec-following clients follow. Carriage returns and line feeds are rejected by Plug, so this is parameter injection within one header, not response splitting. This issue affects ash_authentication_oauth2_server: from 0.1.3 before 0.3.1.

