2026-10-06 21:43CVE-2026-106505GitHub_M
PUBLISHED5.2CWE-426CWE-436

Backstage: Bypass of MkDocs configuration sanitizer in TechDocs backend

Backstage is an open framework for building developer portals. Prior to 1.14.6 and 1.15.4, the @backstage/plugin-techdocs-node package is affected by bypass of mkdocs configuration sanitizer in techdocs backend. Users with the ability to commit changes to a repository that uses TechDocs can circumvent the MkDocs configuration file sanitizer introduced in response to CVE-2026-25153 and execute arbitrary code on the TechDocs backend host during documentation generation. This issue is fixed in versions 1.14.6 and 1.15.4.

Problem type

Affected products

backstage

backstage

< 1.50.5 - AFFECTED

>= 1.51.0-next.0, < 1.54.6 - AFFECTED

@backstage

plugin-techdocs-node

< 1.14.6 - AFFECTED

>= 1.15.0, < 1.15.4 - AFFECTED

References

JSON source

https://cveawg.mitre.org/api/cve/CVE-2026-106505
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2026-106505",
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "dateUpdated": "2026-10-06T21:43:08.370Z",
    "dateReserved": "2026-10-06T18:46:47.766Z",
    "datePublished": "2026-10-06T21:43:08.370Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M",
        "dateUpdated": "2026-10-06T21:43:08.370Z"
      },
      "title": "Backstage: Bypass of MkDocs configuration sanitizer in TechDocs backend",
      "descriptions": [
        {
          "lang": "en",
          "value": "Backstage is an open framework for building developer portals. Prior to 1.14.6 and 1.15.4, the @backstage/plugin-techdocs-node package is affected by bypass of mkdocs configuration sanitizer in techdocs backend. Users with the ability to commit changes to a repository that uses TechDocs can circumvent the MkDocs configuration file sanitizer introduced in response to CVE-2026-25153 and execute arbitrary code on the TechDocs backend host during documentation generation. This issue is fixed in versions 1.14.6 and 1.15.4."
        }
      ],
      "affected": [
        {
          "vendor": "backstage",
          "product": "backstage",
          "versions": [
            {
              "version": "< 1.50.5",
              "status": "affected"
            },
            {
              "version": ">= 1.51.0-next.0, < 1.54.6",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "@backstage",
          "product": "plugin-techdocs-node",
          "versions": [
            {
              "version": "< 1.14.6",
              "status": "affected"
            },
            {
              "version": ">= 1.15.0, < 1.15.4",
              "status": "affected"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "lang": "en",
              "description": "CWE-426: Untrusted Search Path",
              "cweId": "CWE-426",
              "type": "CWE"
            }
          ]
        },
        {
          "descriptions": [
            {
              "lang": "en",
              "description": "CWE-436: Interpretation Conflict",
              "cweId": "CWE-436",
              "type": "CWE"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://github.com/backstage/backstage/security/advisories/GHSA-p75x-jh7p-ppcx",
          "name": "https://github.com/backstage/backstage/security/advisories/GHSA-p75x-jh7p-ppcx",
          "tags": [
            "x_refsource_CONFIRM"
          ]
        },
        {
          "url": "https://github.com/backstage/backstage/commit/a7d995f11a5d27f0efbdbe8bb6c21b06988c79c9",
          "name": "https://github.com/backstage/backstage/commit/a7d995f11a5d27f0efbdbe8bb6c21b06988c79c9",
          "tags": [
            "x_refsource_MISC"
          ]
        },
        {
          "url": "https://github.com/backstage/backstage/commit/ef92d3d2b76046205c580e7152956514c15640db",
          "name": "https://github.com/backstage/backstage/commit/ef92d3d2b76046205c580e7152956514c15640db",
          "tags": [
            "x_refsource_MISC"
          ]
        },
        {
          "url": "https://github.com/backstage/backstage/releases/tag/v1.50.5",
          "name": "https://github.com/backstage/backstage/releases/tag/v1.50.5",
          "tags": [
            "x_refsource_MISC"
          ]
        },
        {
          "url": "https://github.com/backstage/backstage/releases/tag/v1.54.6",
          "name": "https://github.com/backstage/backstage/releases/tag/v1.54.6",
          "tags": [
            "x_refsource_MISC"
          ]
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "version": "3.1",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:L",
            "attackVector": "NETWORK",
            "attackComplexity": "HIGH",
            "privilegesRequired": "LOW",
            "userInteraction": "NONE",
            "scope": "CHANGED",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "LOW",
            "availabilityImpact": "LOW",
            "baseScore": 7.7,
            "baseSeverity": "HIGH"
          }
        }
      ]
    }
  }
}