Skip to content
Heist/ feed
Back to feed
Medium

@backstage/plugin-techdocs-node vulnerable to possible Path Traversal in TechDocs Local Generator

Type: advisorySources: OSV

Backstage is an open framework for building developer portals, and @backstage/plugin-techdocs-node provides common node.js functionalities for TechDocs. In versions of @backstage/plugin-techdocs-node prior to 1.13.11 and 1.14.1, a path traversal vulnerability in the TechDocs local generator allows attackers to read arbitrary files from the host filesystem when Backstage is configured with `techdocs.generator.runIn: local`. When processing documentation from untrusted sources, symlinks within the docs directory are followed by MkDocs during the build process. File contents are embedded into generated HTML and exposed to users who can view the documentation. This vulnerability is fixed in` @backstage/plugin-techdocs-node` versions 1.13.11 and 1.14.1. Some workarounds are available. Switch to `runIn: docker` in `app-config.yaml` and/or restrict write access to TechDocs source repositories to trusted users only.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-25152
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 14:04 UTC · Revision 1

Source evidence

@backstage/plugin-techdocs-node vulnerable to possible Path Traversal in TechDocs Local Generator

core-osv · Original source

Published 30 Jan 2026, 21:51 UTC

Backstage is an open framework for building developer portals, and @backstage/plugin-techdocs-node provides common node.js functionalities for TechDocs. In versions of @backstage/plugin-techdocs-node prior to 1.13.11 and 1.14.1, a path traversal vulnerability in the TechDocs local generator allows attackers to read arbitrary files from the host filesystem when Backstage is configured with `techdocs.generator.runIn: local`. When processing documentation from untrusted sources, symlinks within the docs directory are followed by MkDocs during the build process. File contents are embedded into generated HTML and exposed to users who can view the documentation. This vulnerability is fixed in` @backstage/plugin-techdocs-node` versions 1.13.11 and 1.14.1. Some workarounds are available. Switch to `runIn: docker` in `app-config.yaml` and/or restrict write access to TechDocs source repositories to trusted users only.

osv:CVE-2026-25152
Complete source record
{
  "id": "594fd9b7eae8c2787a69035834eedef560f24e24f36891b93d397453a8c02c4e",
  "url": "https://osv.dev/vulnerability/CVE-2026-25152",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "@backstage/plugin-techdocs-node vulnerable to possible Path Traversal in TechDocs Local Generator",
    "summary": "Backstage is an open framework for building developer portals, and @backstage/plugin-techdocs-node provides common node.js functionalities for TechDocs. In versions of @backstage/plugin-techdocs-node prior to 1.13.11 and 1.14.1, a path traversal vulnerability in the TechDocs local generator allows attackers to read arbitrary files from the host filesystem when Backstage is configured with `techdocs.generator.runIn: local`. When processing documentation from untrusted sources, symlinks within the docs directory are followed by MkDocs during the build process. File contents are embedded into generated HTML and exposed to users who can view the documentation. This vulnerability is fixed in` @backstage/plugin-techdocs-node` versions 1.13.11 and 1.14.1. Some workarounds are available. Switch to `runIn: docker` in `app-config.yaml` and/or restrict write access to TechDocs source repositories to trusted users only.",
    "evidence": "osv:CVE-2026-25152",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-25152",
      "aliases": [
        "CVE-2026-25152",
        "GHSA-w669-jj7h-88m9"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/backstage/backstage",
              "type": "GIT",
              "events": [
                {
                  "introduced": "72ee1d9fd98f51c2e1aca58fd69163ad96c41162"
                },
                {
                  "fixed": "99d7a6f42d71e86578c89c0669a3d962088ed8ae"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "= 1.14.0"
                      },
                      {
                        "last_affected": "= 1.14.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandaloneSingleVersion"
                  },
                  {
                    "cpe": "cpe:2.3:a:linuxfoundation:backstage:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "1.14.0"
                      },
                      {
                        "fixed": "1.14.1"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "= 1.14.0",
            "v1.14.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-25152.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:29.354364902Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25152.json",
        "https://github.com/backstage/backstage/security/advisories/GHSA-w669-jj7h-88m9",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-25152"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22"
        ],
        "cna_assigner": "GitHub_M",
        "unresolved_ranges": [
          {
            "extracted_events": [
              {
                "range": [
                  {
                    "fixed": "1.13.11"
                  }
                ],
                "source": "AFFECTED_FIELD",
                "strategy": "StringRangeExpression"
              }
            ]
          }
        ],
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25152.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-25152",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 496203,
  "published_at": "2026-01-30T21:51:22.277+00:00"
}