CVE-2024-46976: Backstage TechDocs plugin XSS circumvention via storage bucket injection

CVE-2024-46976 · Severity: low · CVSS 3.1 · Published 2024-09-17

Backstage is an open-source developer portal framework, and its TechDocs plugin automatically renders technical documentation. An attacker who gains control of the storage bucket containing TechDocs files can inject malicious scripts into documentation that execute in users' browsers when viewing the docs. This could lead to session hijacking, credential theft, or other client-side attacks against users accessing the documentation.

Technologies: Backstage Plugin-Techdocs-Backend, @backstage/plugin-techdocs-backend (npm). Vendors: Backstage, npm.

Quick answers

Is CVE-2024-46976 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2024-46976 being exploited in the wild.
How severe is CVE-2024-46976?
Low severity, with a CVSS score of 3.1, published 17 September 2024.
Which products and versions are affected?
Backstage Plugin-Techdocs-Backend <1.10.13; @backstage/plugin-techdocs-backend (npm) SEMVER:introduced=0,fixed=1.10.13.
Is there a fix for CVE-2024-46976?
Yes. @backstage/plugin-techdocs-backend (npm): upgrade to 1.10.13 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2024-46976 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2024-46976?
Check whether you run Backstage Plugin-Techdocs-Backend or @backstage/plugin-techdocs-backend (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • @backstage/plugin-techdocs-backend (npm): upgrade to 1.10.13 or later
    npm install @backstage/plugin-techdocs-backend@1.10.13

Technical details

The vulnerability is a cross-site scripting (XSS) protection circumvention (CWE-79, CWE-693) in the @backstage/plugin-techdocs-backend component. An attacker with write access to the TechDocs storage buckets can craft malicious documentation files containing embedded executable JavaScript. When legitimate users browse the documentation via the TechDocs frontend, the attacker-controlled scripts execute in their browser context. The attack requires authentication to the Backstage instance (PR:L) and user interaction (UI:R) to view the documentation. Impact is measured as low for confidentiality, integrity, and availability on a per-user basis, though scope is changed (affecting the user's browser session and potentially other browser-accessible resources). The patch was released in version 1.10.13 of the @backstage/plugin-techdocs-backend package.

Affected products

  • Backstage @backstage/plugin-techdocs-backend <1.10.13

Identifiers

  • CVE-2024-46976
  • GHSA-5j94-f3mf-8685

Timeline

  • 2024-09-17: disclosed: Vulnerability published as GHSA-5j94-f3mf-8685 and CVE-2024-46976
  • 2024-09-17: patched: Fixed in @backstage/plugin-techdocs-backend version 1.10.13

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.