ZeroHour

CVE-2026-54072

niche

Open redirect leaks OAuth tokens in Authorizer authentication server

CVSS 3.1
9.3 critical
EPSS
Published
()
Modified
AI analysis

CVE-2026-54072 is an open redirect (CWE-601) in Authorizer, an open-source, self-hostable authentication and authorization server, where the /authorize endpoint accepts any redirect_uri without validating it against the configured AllowedOrigins. An unauthenticated attacker can fetch a valid client_id from the public /graphql?query={meta{client_id}} endpoint, then call /authorize with response_type=token or id_token and an attacker-controlled redirect_uri; the server appends access_token, id_token, and refresh_token as query parameters and issues a 302 redirect, delivering the tokens to the attacker's URL. Stolen tokens can allow account or session hijacking, and the 9.3 CVSS v3.1 score reflects network attack vector, no privileges, a scope change, and high confidentiality and integrity impact. Any deployment running Authorizer before 2.2.1 is affected; the partial fix in v2.0.1 covered other handlers (oauth_login, verify_email, magic_link_login, forgot_password, invite_members, oauth_callback) but not /authorize. No public proof of concept or confirmed exploitation (including CISA KEV listing) is currently known.

What to do: Upgrade to Authorizer 2.2.1 or later. As an interim mitigation, validate the redirect_uri parameter against your AllowedOrigins at a reverse proxy or WAF, and review logs for 302 redirects from /authorize whose redirect_uri is off-list and whose query string contains access_token, id_token, or refresh_token — treat any such tokens as leaked and rotate affected user sessions. Note that deployments on 2.0.x–2.2.0 are not fully protected, since the 2.0.1 partial fix covered other handlers but not /authorize.

Affected
Authorizer (self-hosted authentication/authorization server)all versions prior to 2.2.1 (partial fix in 2.0.1 did not cover /authorize; fully fixed in 2.2.1)
Estimated exposure
nicheunknown — likely at most low thousands of self-hosted instances — No published install counts or internet-exposure scan data for Authorizer are available, so this order-of-magnitude estimate is inferred from its profile as a niche, self-hosted open-source project rather than a mass-market or…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

Authorizer is an open-source, self-hostable authentication and authorization server. Prior to version 2.2.1, the `/authorize` endpoint accepts any `redirect_uri` without validating it against `AllowedOrigins`. When `response_type=token` or `response_type=id_token`, the server appends `access_token`, `id_token`, and `refresh_token` as query parameters and issues a 302 redirect to the attacker-supplied URL. An unauthenticated attacker can obtain the required `client_id` from the public `/graphql?query={meta{client_id}}` endpoint. A partial fix was applied in v2.0.1 to other handlers (`oauth_login`, `verify_email`, `magic_link_login`, `forgot_password`, `invite_members`, `oauth_callback`) but `/authorize` was not included. Version 2.2.1 contains a more complete fix.

Weakness
CWE-601
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N

In the news

No ingested article mentions this CVE yet.