Backstage is an open framework for building developer portals. Prior to 1.15.4, the @backstage/plugin-techdocs-node package is affected by techdocs arbitrary file read via mkdocs snippets. Unsafe path resolution in TechDocs source tree handling allows an authenticated user who can register documentation sources to include content from outside the intended documentation boundary. Depending on deployment, this may expose files readable by the build process. This issue is fixed in version 1.15.4.
PUBLISHED5.2CWE-59CWE-61
Backstage: TechDocs arbitrary file read via mkdocs snippets
Problem type
- CWE-59: Improper Link Resolution Before File Access ('Link Following')
- CWE-61: UNIX Symbolic Link (Symlink) Following
Affected products
backstage
backstage
< 1.54.6 - AFFECTED
@backstage/plugin-techdocs-node
plugin-techdocs-node
< 1.15.4 - AFFECTED
References
https://github.com/backstage/backstage/security/advisories/GHSA-vmqh-7cj9-mvcj
https://github.com/backstage/backstage/security/advisories/GHSA-vmqh-7cj9-mvcj
https://github.com/backstage/backstage/commit/911ca36f10e654c5517da029129230fc05a4f580
https://github.com/backstage/backstage/commit/911ca36f10e654c5517da029129230fc05a4f580
https://github.com/backstage/backstage/releases/tag/v1.54.6
https://github.com/backstage/backstage/releases/tag/v1.54.6
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-106507Click to expand
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-106507",
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"dateUpdated": "2026-10-06T21:46:08.014Z",
"dateReserved": "2026-10-06T18:46:47.766Z",
"datePublished": "2026-10-06T21:46:08.014Z",
"state": "PUBLISHED"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M",
"dateUpdated": "2026-10-06T21:46:08.014Z"
},
"title": "Backstage: TechDocs arbitrary file read via mkdocs snippets",
"descriptions": [
{
"lang": "en",
"value": "Backstage is an open framework for building developer portals. Prior to 1.15.4, the @backstage/plugin-techdocs-node package is affected by techdocs arbitrary file read via mkdocs snippets. Unsafe path resolution in TechDocs source tree handling allows an authenticated user who can register documentation sources to include content from outside the intended documentation boundary. Depending on deployment, this may expose files readable by the build process. This issue is fixed in version 1.15.4."
}
],
"affected": [
{
"vendor": "backstage",
"product": "backstage",
"versions": [
{
"version": "< 1.54.6",
"status": "affected"
}
]
},
{
"vendor": "@backstage/plugin-techdocs-node",
"product": "plugin-techdocs-node",
"versions": [
{
"version": "< 1.15.4",
"status": "affected"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "CWE-59: Improper Link Resolution Before File Access ('Link Following')",
"cweId": "CWE-59",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"lang": "en",
"description": "CWE-61: UNIX Symbolic Link (Symlink) Following",
"cweId": "CWE-61",
"type": "CWE"
}
]
}
],
"references": [
{
"url": "https://github.com/backstage/backstage/security/advisories/GHSA-vmqh-7cj9-mvcj",
"name": "https://github.com/backstage/backstage/security/advisories/GHSA-vmqh-7cj9-mvcj",
"tags": [
"x_refsource_CONFIRM"
]
},
{
"url": "https://github.com/backstage/backstage/commit/911ca36f10e654c5517da029129230fc05a4f580",
"name": "https://github.com/backstage/backstage/commit/911ca36f10e654c5517da029129230fc05a4f580",
"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:U/C:H/I:N/A:N",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"availabilityImpact": "NONE",
"baseScore": 5.3,
"baseSeverity": "MEDIUM"
}
}
]
}
}
}