Open Redirect in @backstage/plugin-auth-backend (CVE-2026-73563)
Summary
Vulnerability in @backstage/plugin-auth-backend (CVE-2026-73563). Risk of unauthorized operations or information disclosure. Exploitable via allowedClientIdPatterns. Mitigation: upgrade to 0.29.2 or later.
Original description
The description as published by the source.
Impact
The allowlist matching used by the experimental dynamic client registration and client ID metadata document (CIMD) features in @backstage/plugin-auth-backend matched glob patterns against the full URL string. A * wildcard could therefore match across URL component boundaries: a pattern such as https://*.example.com/callback, intended to allow subdomains of a trusted host, would also match an attacker-controlled URL such as https://attacker.example/x.example.com/callback. This applies to auth.experimentalDynamicClientRegistration.allowedRedirectUriPatterns as well as the allowedClientIdPatterns and allowedRedirectUriPatterns options of auth.experimentalClientIdMetadataDocuments.
An attacker could use this to register an OAuth client whose redirect URI points to a host they control while still passing the allowlist, causing authorization codes to be delivered to the attacker when a victim completes an authorization flow. In addition, allowlist patterns without an explicit protocol could match URLs with any protocol, and redirect URIs containing embedded credentials (user:pass@host) were accepted after the credentials were stripped for matching.
The practical impact is limited. Both features are experimental and disabled by default, and the default allowlist patterns only reference fixed or loopback hosts and are not affected. Deployments are only impacted if they enable one of these features and configure custom allowlist patterns that contain a wildc…
Source: GitHub Security Advisories (Global) NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-73563 has been found in @backstage/plugin-auth-backend.
Attackers can target a specific entry point like allowedClientIdPatterns over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 4.7/10.
What to do: upgrade @backstage/plugin-auth-backend to 0.29.2 or later.
If unsure, ask your IT team or search "@backstage/plugin-auth-backend CVE-2026-73563" on the vendor's site.
CVE-2026-73563 (@backstage/plugin-auth-backend) — CWE-601 / CVSS v3 4.7
Attack vector: remote (network-reachable) / unauthenticated
Attack surface: allowedClientIdPatterns / allowedRedirectUriPatterns
Patched: 0.29.2 — apply immediately
Workaround: Disable the experimental features by removing auth.experimentalDynamicClientRegistration and auth.experimentalClientIdMetadataDocuments from your app-config, which is the default configuration.
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-601) exists in @backstage/plugin-auth-backend. Attackers reach the vulnerable code path via allowedClientIdPatterns without authentication.
Check the vendor advisory for the affected versions of @backstage/plugin-auth-backend. Attack surface: allowedClientIdPatterns / allowedRedirectUriPatterns.
Severity: Medium (CVSS 4.7/10). Risk of unauthorized operations or information disclosure.
Update to 0.29.2.
Workaround: Disable the experimental features by removing auth.experimentalDynamicClientRegistration and auth.experimentalClientIdMetadataDocuments from your app-config, which is the default configuration.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r '@backstage/plugin-auth-backend' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r '@backstage/plugin-auth-backend' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
@backstage/plugin-auth-backendを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply temporary workaround mitigate
Disable the experimental features by removing `auth.experimentalDynamicClientRegistration` and `auth.experimentalClientIdMetadataDocuments` from your `app-config`, which is the default configuration.パッチが適用されるまでの応急処置として、Disable the experimental features by removing
auth.experimentalDynamicClientRegistrationandauth.experimentalClientIdMetadataDocumentsfrom yourapp-config, which is the default configuration. を実施。回避策の副作用 (機能低下) を確認した上で。 -
3Apply patch patch
Upgrade @backstage/plugin-auth-backend to 0.29.2ステージング環境で 0.29.2 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
4Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
References
- package github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com
- web github.com