GHSA-928r-fm4v-mvrw

Suggest an improvement
Source
https://github.com/advisories/GHSA-928r-fm4v-mvrw
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-928r-fm4v-mvrw/GHSA-928r-fm4v-mvrw.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-928r-fm4v-mvrw
Aliases
  • CVE-2026-29186
Published
2026-03-05T00:12:07Z
Modified
2026-03-09T16:02:26.288095Z
Severity
  • 7.7 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:L CVSS Calculator
Summary
TechDocs Mkdocs Configuration Key Enables Arbitrary Code Execution
Details

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:

  1. Use Docker mode with restricted access: Configure TechDocs with runIn: docker instead of runIn: local. This provides container isolation, though it does not fully mitigate the risk.
  2. Restrict repository access: Limit who can modify mkdocs.yml files in repositories that TechDocs processes. Only allow trusted contributors.
  3. Manual review: Implement PR review requirements for changes to mkdocs.yml files to detect malicious hooks configurations before they are merged.
  4. 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

Database specific
{
    "cwe_ids": [
        "CWE-434",
        "CWE-74"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-03-05T00:12:07Z",
    "nvd_published_at": "2026-03-07T15:15:55Z",
    "severity": "HIGH"
}
References

Affected packages

npm / @backstage/plugin-techdocs-node

Package

Name
@backstage/plugin-techdocs-node
View open source insights on deps.dev
Purl
pkg:npm/%40backstage/plugin-techdocs-node

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
1.14.3

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-928r-fm4v-mvrw/GHSA-928r-fm4v-mvrw.json"
last_known_affected_version_range
"<= 1.14.2"