TechDocs Mkdocs Configuration Key Enables Arbitrary Code Execution
Impact
This is a configuration bypass vulnerability that enables arbitrary code execution. The @backstage/plugin-techdocs-node package uses an allowlist to filter dangerous MkDocs configuration keys during the documentation build process.
A gap in this allowlist allows attackers to craft an mkdocs.yml that causes arbitrary Python code execution, completely bypassing TechDocs' security controls.
Patches
Patched in @backstage/plugin-techdocs-node version 1.14.3
Workarounds
If users cannot upgrade immediately:
- Use Docker mode with restricted access: Configure TechDocs with
runIn: dockerinstead ofrunIn: local. This provides container isolation, though it does not fully mitigate the risk. - Restrict repository access: Limit who can modify
mkdocs.ymlfiles in repositories that TechDocs processes. Only allow trusted contributors. - Manual review: Implement PR review requirements for changes to
mkdocs.ymlfiles to detect malicious hooks configurations before they are merged. - Downgrade MkDocs: Use MkDocs < 1.4.0 (e.g., 1.3.1) which does not support hooks. Note: This may limit access to newer MkDocs features.
Note: Building documentation in CI/CD pipelines using @techdocs/cli does not mitigate this vulnerability, as the CLI uses the same vulnerable @backstage/plugin-techdocs-node package.
Resources
MkDocs Hooks Documentation MkDocs 1.4 Release Notes TechDocs Architecture
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| npm package | @backstage/plugin-techdocs-node | < 1.14.3 | 1.14.3 |
References
- https://github.com/backstage/backstage/security/advisories/GHSA-928r-fm4v-mvrw
- https://nvd.nist.gov/vuln/detail/CVE-2026-29186
- https://backstage.io/docs/features/techdocs/architecture
- https://github.com/backstage/backstage
- https://www.mkdocs.org/about/release-notes/#version-14-2022-09-27
- https://www.mkdocs.org/user-guide/configuration/#hooks
- CVSS vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:L- Weakness (CWE)
CWE-434, CWE-74- Platform
- npm
- Package
@backstage/plugin-techdocs-node- Disclosed
- 05.03.2026
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-928r-fm4v-mvrw - CC BY 4.0
Vulnerability history: @backstage/plugin-techdocs-node
All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 11
- First → latest
- 06.2022 10.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- High 8
- Medium 3
Disclosures per year
- 2022: 1
- 2023: 0
- 2024: 0
- 2025: 0
- 2026: 10
-
TechDocs Mkdocs Configuration Key Enables Arbitrary Code Execution this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.