CVE-2026-115923
CVE-2026-115923 · Backstage catalog rules can be bypassed for URL locations using encoded path segments
This page contains facts from public vulnerability sources. Check the original advisory before updating.
Backstage is an open framework for building developer portals. Prior to 3.9.2 and from 4.0.0 until 4.0.2, DefaultCatalogRulesEnforcer in @backstage/plugin-catalog-backend compares the raw location.target URL against catalog.rules, while URL readers canonicalize the same URL before fetching it. An authenticated user with catalog.location.create permission can use percent-encoded path segments to make an untrusted URL match a trusted location pattern even though the canonical URL resolves outside that scope. This admits entity content from an untrusted source as trusted, while further downstream consequences depend on deployment configuration. This issue is fixed in versions 3.9.2 and 4.0.2.
CVSS 6.5 · Medium · EPSS 0.3% · Fix available
- Published
- Updated
Stack: node
Affected products and versions
backstage
- Versions
- < 3.9.2: Affected
- >= 4.0.0, < 4.0.2: Affected
No fix published
@backstage/plugin-catalog-backend npm
- Affected ranges
- SEMVER: < 3.9.2
Update to 3.9.2
@backstage/plugin-catalog-backend npm
- Affected ranges
- SEMVER: ≥ 4.0.0, < 4.0.2
Update to 4.0.2
Original sources
- https://github.com/backstage/backstage/security/advisories/GHSA-w658-mh9p-ww8f
- https://github.com/backstage/backstage/commit/3214dc8f15d4a08a2fd07a72a8fe4d00aeac0db4
- https://github.com/backstage/backstage/commit/737ff1c719dbd5a97f375b7f1db6d61416618419
- https://github.com/backstage/backstage/releases/tag/v1.54.10
- https://github.com/backstage/backstage/releases/tag/v1.56.1
- https://nvd.nist.gov/vuln/detail/CVE-2026-115923