Skip to content
Heist/ feed
Back to feed
HighFix available

Backstage: Improper validation of MkDocs plugin configuration in TechDocs

Type: advisorySources: OSV

### Impact An authenticated attacker with control over a TechDocs source repository could cause a documentation build to retrieve and publish data from network locations reachable by the build environment. Exposure depends on deployment topology, build mode, and target endpoint protections. Modern cloud metadata services that require tokens or special headers are not directly accessible through the affected behavior. ### Patches Upgrade `@backstage/plugin-techdocs-node` to a patched version for the applicable release line: - `1.14.x`: upgrade to `1.14.7` or later in that line, available in [Backstage v1.50.6](https://github.com/backstage/backstage/releases/tag/v1.50.6). - `1.15.x`: upgrade to `1.15.5` or later, available in [Backstage v1.54.8](https://github.com/backstage/backstage/releases/tag/v1.54.8). - Current mainline: upgrade to `2.0.0` or later, available in [Backstage v1.55.0](https://github.com/backstage/backstage/releases/tag/v1.55.0). The update removes MkDocs plugins outside the built-in allowlist. To retain additional plugins, review them and configure `techdocs.generator.mkdocs.dangerouslyAllowAdditionalPlugins`, or supply `dangerouslyAllowAdditionalPlugins` when creating the generator directly. Plugins supplied through `defaultPlugins` remain permitted. ### Workarounds - Restrict control of TechDocs source repositories and catalog registration to trusted maintainers. - Run documentation builders with outbound access to private and link-local networks denied. -

Products
@backstage/plugin-techdocs-node
Affected versions
Not specified
Fixed versions
1.14.7, 1.15.5
CVEs
CVE-2026-106455
Confirmed fixed CVEs
Not specified
Updated in this feed
28 Oct 2026, 08:47 UTC · Revision 1

Source evidence

Backstage: Improper validation of MkDocs plugin configuration in TechDocs

core-osv · Original source

Published 7 Oct 2026, 20:25 UTC

### Impact An authenticated attacker with control over a TechDocs source repository could cause a documentation build to retrieve and publish data from network locations reachable by the build environment. Exposure depends on deployment topology, build mode, and target endpoint protections. Modern cloud metadata services that require tokens or special headers are not directly accessible through the affected behavior. ### Patches Upgrade `@backstage/plugin-techdocs-node` to a patched version for the applicable release line: - `1.14.x`: upgrade to `1.14.7` or later in that line, available in [Backstage v1.50.6](https://github.com/backstage/backstage/releases/tag/v1.50.6). - `1.15.x`: upgrade to `1.15.5` or later, available in [Backstage v1.54.8](https://github.com/backstage/backstage/releases/tag/v1.54.8). - Current mainline: upgrade to `2.0.0` or later, available in [Backstage v1.55.0](https://github.com/backstage/backstage/releases/tag/v1.55.0). The update removes MkDocs plugins outside the built-in allowlist. To retain additional plugins, review them and configure `techdocs.generator.mkdocs.dangerouslyAllowAdditionalPlugins`, or supply `dangerouslyAllowAdditionalPlugins` when creating the generator directly. Plugins supplied through `defaultPlugins` remain permitted. ### Workarounds - Restrict control of TechDocs source repositories and catalog registration to trusted maintainers. - Run documentation builders with outbound access to private and link-local networks denied. -

osv:GHSA-q38j-6vcm-2f5m

@backstage/plugin-techdocs-node

Fixed versions: 1.14.7

@backstage/plugin-techdocs-node

Fixed versions: 1.15.5

Complete source record
{
  "id": "e16a4efbd0937b99ed005ab484e9fca44518d8309061d8bddb3741effd03129e",
  "url": "https://osv.dev/vulnerability/GHSA-q38j-6vcm-2f5m",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Backstage: Improper validation of MkDocs plugin configuration in TechDocs",
    "summary": "### Impact An authenticated attacker with control over a TechDocs source repository could cause a documentation build to retrieve and publish data from network locations reachable by the build environment. Exposure depends on deployment topology, build mode, and target endpoint protections. Modern cloud metadata services that require tokens or special headers are not directly accessible through the affected behavior. ### Patches Upgrade `@backstage/plugin-techdocs-node` to a patched version for the applicable release line: - `1.14.x`: upgrade to `1.14.7` or later in that line, available in [Backstage v1.50.6](https://github.com/backstage/backstage/releases/tag/v1.50.6). - `1.15.x`: upgrade to `1.15.5` or later, available in [Backstage v1.54.8](https://github.com/backstage/backstage/releases/tag/v1.54.8). - Current mainline: upgrade to `2.0.0` or later, available in [Backstage v1.55.0](https://github.com/backstage/backstage/releases/tag/v1.55.0). The update removes MkDocs plugins outside the built-in allowlist. To retain additional plugins, review them and configure `techdocs.generator.mkdocs.dangerouslyAllowAdditionalPlugins`, or supply `dangerouslyAllowAdditionalPlugins` when creating the generator directly. Plugins supplied through `defaultPlugins` remain permitted. ### Workarounds - Restrict control of TechDocs source repositories and catalog registration to trusted maintainers. - Run documentation builders with outbound access to private and link-local networks denied. - ",
    "evidence": "osv:GHSA-q38j-6vcm-2f5m",
    "products": [
      {
        "name": {
          "value": "@backstage/plugin-techdocs-node",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "1.14.7",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": []
      },
      {
        "name": {
          "value": "@backstage/plugin-techdocs-node",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "1.15.5",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "GHSA-q38j-6vcm-2f5m",
      "aliases": [
        "CVE-2026-106455",
        "GHSA-q38j-6vcm-2f5m"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "0.11.12"
                },
                {
                  "fixed": "1.14.7"
                }
              ]
            }
          ],
          "package": {
            "name": "@backstage/plugin-techdocs-node",
            "purl": "pkg:npm/%40backstage/plugin-techdocs-node",
            "ecosystem": "npm"
          },
          "database_specific": {
            "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-q38j-6vcm-2f5m/GHSA-q38j-6vcm-2f5m.json"
          }
        },
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "1.15.0"
                },
                {
                  "fixed": "1.15.5"
                }
              ]
            }
          ],
          "package": {
            "name": "@backstage/plugin-techdocs-node",
            "purl": "pkg:npm/%40backstage/plugin-techdocs-node",
            "ecosystem": "npm"
          },
          "database_specific": {
            "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-q38j-6vcm-2f5m/GHSA-q38j-6vcm-2f5m.json"
          }
        }
      ],
      "modified": "2026-10-07T20:30:07.085070143Z",
      "provider": "osv",
      "references": [
        "https://github.com/backstage/backstage/security/advisories/GHSA-q38j-6vcm-2f5m",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-106455",
        "https://github.com/backstage/backstage/commit/28aa82ae2815988721dd7bbf43cd69c431dcd71b",
        "https://github.com/backstage/backstage/commit/9f76ea445088961f68c364764cc4b7734f368fc0",
        "https://github.com/backstage/backstage",
        "https://github.com/backstage/backstage/releases/tag/v1.50.6",
        "https://github.com/backstage/backstage/releases/tag/v1.54.8",
        "https://github.com/backstage/backstage/releases/tag/v1.55.0"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-918"
        ],
        "severity": "HIGH",
        "github_reviewed": true,
        "nvd_published_at": "2026-10-06T21:17:15Z",
        "github_reviewed_at": "2026-10-07T20:25:19Z"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-106455",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/database_specific/severity"
  },
  "source_id": "core-osv",
  "document_id": 97239,
  "published_at": "2026-10-07T20:25:19+00:00"
}