CVE-2026-106558 json
Backstage: Improper validation of TechDocs MkDocs configuration
published 2026-10-07 33 d ago modified 2026-10-13 27 d ago also EUVD-2026-94371 , GHSA-qmw3-745m-w99g
- cvss
- 8.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 40%
- public exploits
- 0
- none known
Summary
Backstage is an open framework for building developer portals. Prior to 1.14.8, 1.15.6, and 2.0.1, the @backstage/plugin-techdocs-node package improperly validated mapping-style markdown_extensions configuration. An authenticated attacker who can register or influence an SCM-backed documentation source may bypass TechDocs sanitization and cause Python objects to be imported and instantiated in the generator runtime, leading to arbitrary code execution. Earlier fixes in versions 1.14.6 and 1.15.4 did not fully address the supported mapping representation of markdown_extensions. Impact is greatest when documentation generation runs with backend credentials, filesystem access, or internal network access. This issue is fixed in versions 1.14.8, 1.15.6, and 2.0.1.
Patch / fix
- npm @backstage/plugin-techdocs-node 1.15.4
- linuxfoundation @backstage/plugin-techdocs-node 1.14.8, 1.15.6, 2.0.1
- linuxfoundation backstage_plugin-techdocs-node 1.14.8, 1.15.6, 2.0.1
- github.com/backstage/backstage@32723a0 commit
- github.com/backstage/backstage@944edb5 commit
- github.com/backstage/backstage@f18e9ab commit
- github.com/backstage/backstage/releases/tag/v1.50.7 release
- github.com/backstage/backstage/releases/tag/v1.54.9 release
- github.com/backstage/backstage/releases/tag/v1.55.2 release
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-106558 updated cvss 8.8
@backstage/plugin-techdocs-node: @backstage/plugin-techdocs-node: Arbitrary code execution via improper markdown extension configuration
-
Red Hat Developer Hub 1 rhdh/rhdh-hub-rhel9 Red Hat Self-service automation portal 2 ansible-automation-platform/automation-portal, ansible-automation-platform/bootc-automation-portal-rhel9affected: workaround, no fix available
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 30 d ago
Exploit prediction
0.47% chance of exploitation in the next 30 days, higher than 40% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @backstage/plugin-techdocs-node | <1.15.4 |
1.15.4 |
Affected products
- backstage backstage
- @backstage plugin-techdocs-node
Classification
- Weakness
-
- CWE-502 Deserialization of Untrusted Data
References
-
github.com
/backstage/backstage/commit/32723a0fe4e12ed80535fc65d5331765c55aa91b
web, patch
-
github.com
/backstage/backstage/commit/944edb51c8524d3664b18f2d57ba101b1c93b709
web, patch
-
github.com
/backstage/backstage/commit/f18e9abcc6051491862b15e4fc60e69f8d52310c
web, patch
-
github.com
/backstage/backstage/releases/tag/v1.50.7
web, patch, release-notes
-
github.com
/backstage/backstage/releases/tag/v1.54.9
web, patch, release-notes
-
github.com
/backstage/backstage/releases/tag/v1.55.2
web, patch, release-notes
-
github.com
/backstage/backstage/security/advisories/GHSA-qmw3-745m-w99g
web, mitigation, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-106558
advisory
-
github.com
/backstage/backstage
package
Sources
- CVE List CVE-2026-106558
- GitHub Advisory GHSA-qmw3-745m-w99g
- NVD CVE-2026-106558
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.