CVE-2026-106505
HIGH 7.7Backstage is an open framework for building developer portals. Prior to 1.14.6 and 1.15.4, the @backstage/plugin-techdocs-node package is affected by bypass of mkdocs configuration sanitizer in techdocs backend. Users with the ability to commit changes to a repository that uses TechDocs can circumvent the MkDocs configuration file sanitizer introduced in response to CVE-2026-25153 and execute arbitrary code on the TechDocs backend host during documentation generation. This issue is fixed in versions 1.14.6 and 1.15.4.
Severe if exploited (CVSS 7.7), but no known exploitation and low modeled probability. Patch on a normal cadence.
Exploitation likelihood
0.3%chance of exploitation in 30 days · 24th percentile
Impact if exploited
7.7CVSS 3.1 · HIGH
- ConfidentialityHigh
- IntegrityLow
- AvailabilityLow
What an attacker needs
- ✓Access: Reachable over the network — no local access needed
- ⚠Privileges: Requires a low-privilege account
- ✓User interaction: No user interaction needed
- ⚠Complexity: Needs a race window or specific setup
✓ lowers the bar for an attacker · ⚠ raises it
Proof of concept
No public PoC is currently catalogued.
Search for new PoCs
Search GitHub now — results may be empty or unverified.
Tracked sources are checked daily for recent CVEs, including PoCs published after the original disclosure. A later release appears after a tracked source lists it and a refresh succeeds.
Data snapshot:
Affected
Vendors Backstage @Backstage Linuxfoundation
Products Backstage Plugin Techdocs Node Backstage Plugin Techdocs Node
Weakness (CWE)
- CWE-426: : Untrusted Search Path
- CWE-436: : Interpretation Conflict
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:L
References and research data (JSON)
Packages and version ranges
Each advisory describes its own package and affected ranges. A boundary applies to that range; it is not a universal upgrade recommendation.
@backstage/plugin-techdocs-node npm
pkg:npm/%40backstage/plugin-techdocs-node
SEMVER range- All earlier versions (introduced 0)
- Fixed boundary (excluded): 1.15.4
GitHub Advisory Database · GHSA-p75x-jh7p-ppcx · Updated 2026-10-07T16:30:05.289295195ZAdditional upstream package constraints
{ "database": { "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-p75x-jh7p-ppcx/GHSA-p75x-jh7p-ppcx.json" } }
Vendor product assessments
rhdh/rhdh-hub-rhel9 as a component of Red Hat Developer Hub · known affected
Vendor assessment for this product only.
pkg:oci/rhdh-hub-rhel9?repository_url=registry.redhat.io/rhdh/rhdh-hub-rhel9
- workaround: To reduce the risk of unauthorized code execution, implement the following operational and configuration controls: 1. Restrict repository permissions: Limit write and commit access for repositories configured with TechDocs to trusted contributors only. 2. Code review enforcement: Mandate pull request reviews for all modifications to MkDocs configuration files (such as mkdocs.yml or mkdocs.yaml) prior to merging. 3. Container isolation: In the Backstage configuration (app-config.yaml), configure TechDocs to execute documentation generation inside an isolated container by setting `runIn: docker` instead of `runIn: local`, or offload documentation builds to an external CI/CD pipeline. Caveat: Container isolation reduces direct host system exposure but does not fully eliminate the vulnerability within the container environment. Modifying application configuration files requires restarting the service for changes to take effect.
- none available: Fix deferred
ansible-automation-platform/automation-portal as a component of Self-service automation portal 2 · known affected
Vendor assessment for this product only.
pkg:oci/automation-portal?repository_url=registry.redhat.io/ansible-automation-platform/automation-portal
- workaround: To reduce the risk of unauthorized code execution, implement the following operational and configuration controls: 1. Restrict repository permissions: Limit write and commit access for repositories configured with TechDocs to trusted contributors only. 2. Code review enforcement: Mandate pull request reviews for all modifications to MkDocs configuration files (such as mkdocs.yml or mkdocs.yaml) prior to merging. 3. Container isolation: In the Backstage configuration (app-config.yaml), configure TechDocs to execute documentation generation inside an isolated container by setting `runIn: docker` instead of `runIn: local`, or offload documentation builds to an external CI/CD pipeline. Caveat: Container isolation reduces direct host system exposure but does not fully eliminate the vulnerability within the container environment. Modifying application configuration files requires restarting the service for changes to take effect.
- none available: Affected
ansible-automation-platform/bootc-automation-portal-rhel9 as a component of Self-service automation portal 2 · known affected
Vendor assessment for this product only.
pkg:oci/bootc-automation-portal-rhel9?repository_url=registry.redhat.io/ansible-automation-platform/bootc-automation-portal-rhel9
- workaround: To reduce the risk of unauthorized code execution, implement the following operational and configuration controls: 1. Restrict repository permissions: Limit write and commit access for repositories configured with TechDocs to trusted contributors only. 2. Code review enforcement: Mandate pull request reviews for all modifications to MkDocs configuration files (such as mkdocs.yml or mkdocs.yaml) prior to merging. 3. Container isolation: In the Backstage configuration (app-config.yaml), configure TechDocs to execute documentation generation inside an isolated container by setting `runIn: docker` instead of `runIn: local`, or offload documentation builds to an external CI/CD pipeline. Caveat: Container isolation reduces direct host system exposure but does not fully eliminate the vulnerability within the container environment. Modifying application configuration files requires restarting the service for changes to take effect.
- none available: Affected
Known Affected Software Configurations
| Vendor | Product | Version range |
|---|---|---|
| Linuxfoundation | Backstage Plugin Techdocs Node | < 1.14.6 |
| Linuxfoundation | Backstage Plugin Techdocs Node | ≥ 1.15.0 and < 1.15.4 |
| Linuxfoundation | Backstage | < 1.50.5 |
| Linuxfoundation | Backstage | ≥ 1.51.1 and < 1.54.6 |
| Linuxfoundation | Backstage | 1.51.0 |
| Linuxfoundation | Backstage | 1.51.0 |
| Linuxfoundation | Backstage | 1.51.0 |
| Linuxfoundation | Backstage | 1.51.0 |
| Linuxfoundation | Backstage | 1.51.0 |
All CVSS metrics
- HIGH 7.7 v3.1 · CNA Primary
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:L - HIGH 7.7 v3.1 · NVD Secondary
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:L - HIGH 8.5 v3.1 · NVD Primary
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
References
Patches & mitigations
- https://github.com/backstage/backstage/security/advisories/GHSA-p75x-jh7p-ppcx CVE record · GitHub_M · Updated 2026-10-06T21:43:08.370Z
NVD · CVE-2026-106505 · Updated 2026-10-09T17:58:21.970
GitHub Advisory Database · GHSA-p75x-jh7p-ppcx
GitHub Advisory Database · GHSA-p75x-jh7p-ppcx · Updated 2026-10-07T16:30:05.289295195Z
Red Hat · CVE-2026-106505 · Updated 2026-10-20T19:55:39+00:00 - https://github.com/backstage/backstage/commit/a7d995f11a5d27f0efbdbe8bb6c21b06988c79c9 CVE record · GitHub_M · Updated 2026-10-06T21:43:08.370Z
NVD · CVE-2026-106505 · Updated 2026-10-09T17:58:21.970
GitHub Advisory Database · GHSA-p75x-jh7p-ppcx
GitHub Advisory Database · GHSA-p75x-jh7p-ppcx · Updated 2026-10-07T16:30:05.289295195Z
Red Hat · CVE-2026-106505 · Updated 2026-10-20T19:55:39+00:00 - https://github.com/backstage/backstage/commit/ef92d3d2b76046205c580e7152956514c15640db CVE record · GitHub_M · Updated 2026-10-06T21:43:08.370Z
NVD · CVE-2026-106505 · Updated 2026-10-09T17:58:21.970
GitHub Advisory Database · GHSA-p75x-jh7p-ppcx
GitHub Advisory Database · GHSA-p75x-jh7p-ppcx · Updated 2026-10-07T16:30:05.289295195Z
Red Hat · CVE-2026-106505 · Updated 2026-10-20T19:55:39+00:00 - https://github.com/backstage/backstage/releases/tag/v1.50.5 CVE record · GitHub_M · Updated 2026-10-06T21:43:08.370Z
NVD · CVE-2026-106505 · Updated 2026-10-09T17:58:21.970
GitHub Advisory Database · GHSA-p75x-jh7p-ppcx
GitHub Advisory Database · GHSA-p75x-jh7p-ppcx · Updated 2026-10-07T16:30:05.289295195Z
Red Hat · CVE-2026-106505 · Updated 2026-10-20T19:55:39+00:00 - https://github.com/backstage/backstage/releases/tag/v1.54.6 CVE record · GitHub_M · Updated 2026-10-06T21:43:08.370Z
NVD · CVE-2026-106505 · Updated 2026-10-09T17:58:21.970
GitHub Advisory Database · GHSA-p75x-jh7p-ppcx
GitHub Advisory Database · GHSA-p75x-jh7p-ppcx · Updated 2026-10-07T16:30:05.289295195Z
Red Hat · CVE-2026-106505 · Updated 2026-10-20T19:55:39+00:00
Advisories
- https://osv.dev/vulnerability/GHSA-p75x-jh7p-ppcx GitHub Advisory Database · GHSA-p75x-jh7p-ppcx
GitHub Advisory Database · GHSA-p75x-jh7p-ppcx · Updated 2026-10-07T16:30:05.289295195Z - https://nvd.nist.gov/vuln/detail/CVE-2026-106505 GitHub Advisory Database · GHSA-p75x-jh7p-ppcx
GitHub Advisory Database · GHSA-p75x-jh7p-ppcx · Updated 2026-10-07T16:30:05.289295195Z
Red Hat · CVE-2026-106505 · Updated 2026-10-20T19:55:39+00:00 - https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-106505.json Red Hat · CVE-2026-106505 · Updated 2026-10-20T19:55:39+00:00
- https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-94070 EUVD · EUVD-2026-94070
Technical & other
- https://github.com/backstage/backstage GitHub Advisory Database · GHSA-p75x-jh7p-ppcx
GitHub Advisory Database · GHSA-p75x-jh7p-ppcx · Updated 2026-10-07T16:30:05.289295195Z - https://access.redhat.com/security/cve/CVE-2026-106505 Red Hat · CVE-2026-106505 · Updated 2026-10-20T19:55:39+00:00
- https://bugzilla.redhat.com/show_bug.cgi?id=2547230 Red Hat · CVE-2026-106505 · Updated 2026-10-20T19:55:39+00:00
- https://www.cve.org/CVERecord?id=CVE-2026-106505 Red Hat · CVE-2026-106505 · Updated 2026-10-20T19:55:39+00:00