Read the docs

Backstage catalog rules bypassed with encoded URL path segments

Priority LOW 29CWE-22Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
None · High · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.

Summary

Backstage is affected before 3.9.2 and from 4.0.0 before 4.0.2, including @backstage/plugin-catalog-backend. DefaultCatalogRulesEnforcer checks the raw location URL against catalog rules while URL readers fetch the canonical URL, a path traversal flaw (CWE-22). An authenticated user with catalog.location.create permission can use percent-encoded path segments so an untrusted URL matches a trusted pattern, admitting untrusted entity content as trusted.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00317 24th percentileScored 2026-11-07
Fix Fixed backstage (backstage): 3.9.2, 4.0.2@backstage/plugin-catalog-backend (npm): 3.9.2, 4.0.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
backstagebackstagebefore 3.9.2; 4.0.0 to before 4.0.23.9.2, 4.0.2Patch availableCNA
—@backstage/plugin-catalog-backend (npm)before 3.9.23.9.2Patch availableGHSA-w658-mh9p-ww8f
—@backstage/plugin-catalog-backend (npm)4.0.0 to before 4.0.24.0.2Patch availableGHSA-w658-mh9p-ww8f
  • backstage Vendorbackstage Affected before 3.9.2; 4.0.0 to before 4.0.2 Fixed in 3.9.2, 4.0.2 Patch available CNA
  • @backstage/plugin-catalog-backend (npm) Vendor— Affected before 3.9.2 Fixed in 3.9.2 Patch available GHSA-w658-mh9p-ww8f
  • @backstage/plugin-catalog-backend (npm) Vendor— Affected 4.0.0 to before 4.0.2 Fixed in 4.0.2 Patch available GHSA-w658-mh9p-ww8f

Remediation

Update backstage to 3.9.2 or 4.0.2, and @backstage/plugin-catalog-backend to 3.9.2 or 4.0.2.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA backstage (backstage) Fixed in 3.9.2, 4.0.2
  • Fix · GHSA-w658-mh9p-ww8f @backstage/plugin-catalog-backend (npm) Fixed in 3.9.2 Advisory →
  • Fix · GHSA-w658-mh9p-ww8f @backstage/plugin-catalog-backend (npm) Fixed in 4.0.2 Advisory →

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-10-26 Threatist record created from CVE-2026-115923
  2. 2026-10-27 Priority changed: MEDIUM → LOW
  3. 2026-10-28 Alias added: GHSA-w658-mh9p-ww8f
  4. 2026-10-28 Fix available: npm/@backstage/[email protected], npm/@backstage/[email protected] · GHSA-w658-mh9p-ww8f
  5. 2026-10-28 CVSS score added · GHSA-w658-mh9p-ww8f
  6. 2026-10-28 Weakness changed · GHSA-w658-mh9p-ww8f
  7. 2026-10-28 7 new references · GHSA-w658-mh9p-ww8f
  8. 2026-11-02 CISA SSVC decision points changed
  9. 2026-11-06 Affected versions changed · Red Hat
  10. 2026-11-06 CVSS score added · Red Hat

References

  • TI-2026-33119 Malware in 42 @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, and SSH keys KEVCVSS 3.1CRITICAL 9.6
  • TI-2018-10499 Integer overflow in backstage kernel KEVCVSS 3.0HIGH 7.8
  • TI-2024-08998 Remote Code Execution in kedro-org/kedro CVSS 3.0CRITICAL 9.8
  • TI-2023-12294 Dragonfly2 vulnerable to hard coded cyptographic key CVSS 3.1CRITICAL 9.8
  • TI-2021-12074 Authentication vulnerability in MOSN v.0.23.0 allows attacker to escalate privileges via… CVSS 3.1CRITICAL 9.8
  • TI-2019-04061 runc through 1.0-rc6, as used in Docker before 18.09.2 and other products, allows… CVSS 3.1HIGH 8.6
See all 662 →

Sources