CVE-2026-73563
MediumCVSS 4.7Exploitation Probability (EPSS)
Low risk10th percentile - higher than 10% of all known CVEs
Summary
Backstage before version 0.29.2 has a vulnerability in the experimental dynamic client registration and client ID metadata document features in @backstage/plugin-auth-backend. Full-string glob matching can be bypassed, allowing an attacker-controlled redirect URI with a trusted hostname suffix in its path to pass the allowlist and receive an OAuth authorization code after a victim completes the flow. These features are experimental and disabled by default.
Risk Assessment
Risk of account takeover or unauthorized access in environments that have enabled these experimental features.
Recommendation
Upgrade Backstage to version 0.29.2 or later if using these features; otherwise ensure they are disabled.
Other vulnerabilities in Backstage
See all- CVE-2026-106499Medium
Backstage before version 4.1.0 in the @backstage/plugin-scaffolder-backend package could expose secret-derived values in Scaffolder task logs. Deployments that configure sensitive scaffolder.defaultEnvironment.secrets and allow an attacker to create or modify Scaffolder templates are affected. A template author could cause secret-derived values used during template iteration to be persisted and exposed to users who can access the resulting task logs.
- CVE-2026-106497Medium
Backstage before version 3.9.1 in the @backstage/plugin-catalog-backend package has inconsistent catalog property permission evaluation. In deployments that use affected value-based catalog permission conditions as a confidentiality boundary, an authenticated user could receive catalog entity data that policy authors intended to restrict.
- CVE-2026-106496Low
The @backstage/plugin-catalog-backend package in Backstage before 3.9.1 inconsistently enforces allowed location types during catalog processing. Under certain configurations, the backend could process location types that were not intended to be allowed, potentially leading to unintended file access on the backend host.
- CVE-2026-106494Medium
Backstage before version 0.17.8 in the @backstage/backend-defaults package has improper input validation in cloud storage url readers. An attacker with write access to a cloud storage bucket used by Backstage could craft object names that could collide with protected files in the output directory. In certain deployment configurations, this could lead to content injection.
- CVE-2026-106493Low
Cloud storage catalog providers in Backstage before 1.54.6 did not sufficiently validate object paths. A principal able to create or rename objects in a configured Azure Blob Storage or AWS S3 catalog source could cause catalog descriptors to be read from outside the intended storage boundary, limited to locations reachable with the backend's configured credentials.
- CVE-2026-106491Medium
Backstage before version 0.6.17 in the @backstage/plugin-proxy-backend package has improper input validation in proxy-backend. An authenticated Backstage user could craft a request URL that causes the proxy-backend to forward the request to a path outside the configured base path on the target server. This is limited to target servers already configured as proxy endpoints and requires Backstage authentication by default.
- CVE-2026-106490Medium
Backstage before version 2.2.4 in the @backstage/plugin-techdocs-backend package has improper input validation in techdocs static content requests. When using the Azure Blob Storage provider, an authenticated Backstage user may be able to read restricted TechDocs content when entity-level permissions are enabled. Deployments that intentionally disable the default backend authentication policy may have broader exposure.
- CVE-2026-106489Medium
Backstage before version 2.2.4 in the @backstage/plugin-techdocs-backend package has improper authorization enforcement for techdocs static content. An authenticated user with access to one TechDocs documentation site could craft a URL able to read documentation belonging to a different entity. This only affects deployments using the external TechDocs builder with an external storage provider (S3, GCS, etc.) and the permission framework enabled. Instances that do not use the permission framework are unaffected, since TechDocs content is visible to all authenticated users by design.
- CVE-2026-106487Low
The @backstage/plugin-kubernetes-backend package in Backstage before 0.21.10 is affected by an unsupported catalog cluster authentication mode in the Kubernetes backend. Deployments using catalog cluster discovery may be affected when catalog contributors can create or modify kubernetes-cluster Resource entities. With the required endpoint permissions and pod RBAC, the backend can use its local in-cluster identity, potentially exposing Kubernetes resources readable by that identity. The credential is used only with the local in-cluster API endpoint and is not sent to the catalog-supplied endpoint.
- CVE-2026-106463Medium
Backstage before version 0.8.7 in the @backstage/plugin-catalog-backend-module-gitlab package has improper authorization in gitlab organizational user ingestion. Deployments that enable GitLab organization event ingestion and rely on scoped catalog users as an access boundary may admit an unintended catalog identity. Depending on sign-in and permission configuration, this may allow unauthorized access with the permissions of a standard authenticated user.
Original NVD description (English source)
Backstage is an open framework for building developer portals. Prior to 0.29.2, the experimental dynamic client registration and client ID metadata document features in the @backstage/plugin-auth-backend use full-string matcher.isMatch glob matching for auth.experimentalDynamicClientRegistration.allowedRedirectUriPatterns and the auth.experimentalClientIdMetadataDocuments allowedClientIdPatterns and allowedRedirectUriPatterns options. A hostname wildcard can match across URL component boundaries, allowing an attacker-controlled redirect URI with a trusted hostname suffix in its path to pass the allowlist and receive an OAuth authorization code after a victim completes the flow. Patterns without an explicit protocol can match unintended protocols, and redirect URIs containing embedded credentials are accepted after user information is stripped for matching. The features are experimental and disabled by default; only deployments that enable them and configure custom wildcard-hostname or protocol-less patterns are affected. This issue is first fixed in prerelease version 0.29.2.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

