PT-2026-86928 · Ash+1 · Ash Authentication Oauth2 Server
CVSS v4.0
6.3
Medium
| Vector | AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N |
Summary
Improper Authentication vulnerability in ash-project ash authentication oauth2 server allows an unauthenticated attacker to register OAuth clients even when Dynamic Client Registration is gated by an initial access token.
resolve secret/3 in AshAuthentication.Oauth2Server (reached through resolve secret !) treated any return other than {:ok, } or :error from a configured {module, function, args} or 2-arity-function secret provider as a valid secret, wrapping nil, false, or "" as {:ok, value}. When the initial access token resolves to such an empty value, POST /oauth/register compares the presented bearer token against it and the comparison passes with no token supplied, so registration is open although it was configured closed. The same fail-open affected other resolved secrets such as signing secret.This issue affects ash authentication oauth2 server: from 0.1.0 before 0.3.1.
Configurations
Reachable only when the server configures an
initial access token (so Dynamic Client Registration is meant to require one) and the configured secret provider returns an empty value (nil, false, or "") or an {:error, } for it, rather than a non-empty binary.Exploit
Fix
Improper Authentication
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Ash Authentication Oauth2 Server