Backstage: Improper validation of MkDocs plugin configuration in TechDocs
### 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 sourcePublished 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"
}