CVE-2026-29186

7.7 HIGH

📋 TL;DR

This CVE describes a configuration bypass vulnerability in Backstage's TechDocs plugin that allows arbitrary Python code execution. Attackers can craft malicious mkdocs.yml files to bypass security controls and execute arbitrary code during documentation builds. This affects all Backstage instances using vulnerable versions of the @backstage/plugin-techdocs-node package.

💻 Affected Systems

Products:
  • Backstage
  • @backstage/plugin-techdocs-node
Versions: All versions prior to 1.14.3
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists when TechDocs processes mkdocs.yml files during documentation builds. Requires attacker ability to modify mkdocs.yml configuration.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise allowing attackers to execute arbitrary Python code with the privileges of the TechDocs build process, potentially leading to data theft, lateral movement, or persistent backdoors.

🟠

Likely Case

Attackers with access to modify documentation configurations can execute arbitrary code to steal sensitive data, compromise the build environment, or pivot to other systems.

🟢

If Mitigated

With proper network segmentation and least privilege, impact is limited to the TechDocs build environment, though code execution still poses significant risk.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires ability to modify mkdocs.yml configuration files. The vulnerability bypasses existing security controls through a gap in the allowlist.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.14.3

Vendor Advisory: https://github.com/backstage/backstage/security/advisories/GHSA-928r-fm4v-mvrw

Restart Required: Yes

Instructions:

1. Update Backstage to version 1.14.3 or later. 2. Update @backstage/plugin-techdocs-node to latest version. 3. Restart Backstage application. 4. Verify TechDocs builds function correctly.

🔧 Temporary Workarounds

Disable TechDocs builds

all

Temporarily disable TechDocs documentation builds to prevent exploitation

Set techdocs.builder to 'local' in app-config.yaml or disable TechDocs plugin

Restrict mkdocs.yml modifications

all

Implement strict access controls on who can modify mkdocs.yml files

🧯 If You Can't Patch

  • Implement strict access controls on mkdocs.yml file modifications
  • Isolate TechDocs build environment with network segmentation and minimal privileges

🔍 How to Verify

Check if Vulnerable:

Check package.json for @backstage/plugin-techdocs-node version. If version is <1.14.3, system is vulnerable.

Check Version:

npm list @backstage/plugin-techdocs-node

Verify Fix Applied:

Verify @backstage/plugin-techdocs-node version is 1.14.3 or later in package.json and TechDocs builds function normally.

📡 Detection & Monitoring

Log Indicators:

  • Unusual Python process execution during TechDocs builds
  • Errors in TechDocs build logs indicating configuration parsing issues
  • Unexpected mkdocs.yml modifications

Network Indicators:

  • Unusual outbound connections from TechDocs build process
  • Suspicious Python package downloads during builds

SIEM Query:

source="backstage" AND ("techdocs" OR "mkdocs") AND ("python" OR "exec" OR "malicious")

🔗 References

📤 Share & Export