{"api_version":"1","generated_at":"2026-09-17T06:54:12+00:00","cve":"CVE-2026-88064","urls":{"html":"https://cve.report/CVE-2026-88064","api":"https://cve.report/api/cve/CVE-2026-88064.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-88064","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-88064"},"summary":{"title":"Backstage: Improper input validation in TechDocs MkDocs configuration","description":"Backstage is an open framework for building developer portals. Prior to 1.14.6 and from 1.15.0 until 1.15.4, the @backstage/plugin-techdocs-node package insufficiently validates mkdocs.yml supplied by an authenticated user who can register or modify a TechDocs source. Unsafe Python YAML tags, markdown_extensions names and configuration, theme options, and extra_templates values can reach the documentation generator and cause unintended code execution. The resulting impact is limited to the files, credentials, network access, and other resources available to the TechDocs backend or build container. This issue is fixed in versions 1.14.6 and 1.15.4.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-09-16 15:18:04","updated_at":"2026-09-16 16:17:19"},"problem_types":["CWE-20","CWE-1336","CWE-20 CWE-20: Improper Input Validation","CWE-1336 CWE-1336: Improper Neutralization of Special Elements Used in a Template Engine"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"8.8","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"8.8","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":8.8,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://github.com/backstage/backstage/commit/02cd7cdbb18b687446277b5602adaee7f1d53cbb","name":"https://github.com/backstage/backstage/commit/02cd7cdbb18b687446277b5602adaee7f1d53cbb","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/backstage/backstage/commit/25125ee727a3de3418a8fa6a9e458cd5b73ecf26","name":"https://github.com/backstage/backstage/commit/25125ee727a3de3418a8fa6a9e458cd5b73ecf26","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/backstage/backstage/releases/tag/v1.50.5","name":"https://github.com/backstage/backstage/releases/tag/v1.50.5","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/backstage/backstage/security/advisories/GHSA-292q-8mf5-h6g3","name":"https://github.com/backstage/backstage/security/advisories/GHSA-292q-8mf5-h6g3","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/backstage/backstage/commit/017ace52d9b327ededc6704cf17799c875ae0f29","name":"https://github.com/backstage/backstage/commit/017ace52d9b327ededc6704cf17799c875ae0f29","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/backstage/backstage/commit/a900a9953c8f7ad3ba1906d1d257725a9996cc9d","name":"https://github.com/backstage/backstage/commit/a900a9953c8f7ad3ba1906d1d257725a9996cc9d","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/backstage/backstage/releases/tag/v1.54.6","name":"https://github.com/backstage/backstage/releases/tag/v1.54.6","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/backstage/backstage/commit/a7d995f11a5d27f0efbdbe8bb6c21b06988c79c9","name":"https://github.com/backstage/backstage/commit/a7d995f11a5d27f0efbdbe8bb6c21b06988c79c9","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-88064","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-88064","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"backstage","product":"backstage","version":"affected < 1.14.6","platforms":[]},{"source":"CNA","vendor":"backstage","product":"backstage","version":"affected >= 1.15.0, < 1.15.4","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-88064","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","timestamp":"2026-09-16T15:46:28.697895Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-09-16T15:46:46.830Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"backstage","vendor":"backstage","versions":[{"status":"affected","version":"< 1.14.6"},{"status":"affected","version":">= 1.15.0, < 1.15.4"}]}],"descriptions":[{"lang":"en","value":"Backstage is an open framework for building developer portals. Prior to 1.14.6 and from 1.15.0 until 1.15.4, the @backstage/plugin-techdocs-node package insufficiently validates mkdocs.yml supplied by an authenticated user who can register or modify a TechDocs source. Unsafe Python YAML tags, markdown_extensions names and configuration, theme options, and extra_templates values can reach the documentation generator and cause unintended code execution. The resulting impact is limited to the files, credentials, network access, and other resources available to the TechDocs backend or build container. This issue is fixed in versions 1.14.6 and 1.15.4."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":8.8,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-20","description":"CWE-20: Improper Input Validation","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-1336","description":"CWE-1336: Improper Neutralization of Special Elements Used in a Template Engine","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-09-16T14:13:26.950Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/backstage/backstage/security/advisories/GHSA-292q-8mf5-h6g3","tags":["x_refsource_CONFIRM"],"url":"https://github.com/backstage/backstage/security/advisories/GHSA-292q-8mf5-h6g3"},{"name":"https://github.com/backstage/backstage/commit/017ace52d9b327ededc6704cf17799c875ae0f29","tags":["x_refsource_MISC"],"url":"https://github.com/backstage/backstage/commit/017ace52d9b327ededc6704cf17799c875ae0f29"},{"name":"https://github.com/backstage/backstage/commit/02cd7cdbb18b687446277b5602adaee7f1d53cbb","tags":["x_refsource_MISC"],"url":"https://github.com/backstage/backstage/commit/02cd7cdbb18b687446277b5602adaee7f1d53cbb"},{"name":"https://github.com/backstage/backstage/commit/25125ee727a3de3418a8fa6a9e458cd5b73ecf26","tags":["x_refsource_MISC"],"url":"https://github.com/backstage/backstage/commit/25125ee727a3de3418a8fa6a9e458cd5b73ecf26"},{"name":"https://github.com/backstage/backstage/commit/a7d995f11a5d27f0efbdbe8bb6c21b06988c79c9","tags":["x_refsource_MISC"],"url":"https://github.com/backstage/backstage/commit/a7d995f11a5d27f0efbdbe8bb6c21b06988c79c9"},{"name":"https://github.com/backstage/backstage/commit/a900a9953c8f7ad3ba1906d1d257725a9996cc9d","tags":["x_refsource_MISC"],"url":"https://github.com/backstage/backstage/commit/a900a9953c8f7ad3ba1906d1d257725a9996cc9d"},{"name":"https://github.com/backstage/backstage/releases/tag/v1.50.5","tags":["x_refsource_MISC"],"url":"https://github.com/backstage/backstage/releases/tag/v1.50.5"},{"name":"https://github.com/backstage/backstage/releases/tag/v1.54.6","tags":["x_refsource_MISC"],"url":"https://github.com/backstage/backstage/releases/tag/v1.54.6"}],"source":{"advisory":"GHSA-292q-8mf5-h6g3","discovery":"UNKNOWN"},"title":"Backstage: Improper input validation in TechDocs MkDocs configuration"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-88064","datePublished":"2026-09-16T14:13:26.950Z","dateReserved":"2026-09-09T21:22:45.434Z","dateUpdated":"2026-09-16T15:46:46.830Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-16 15:18:04","lastModifiedDate":"2026-09-16 16:17:19","problem_types":["CWE-20","CWE-1336","CWE-20 CWE-20: Improper Input Validation","CWE-1336 CWE-1336: Improper Neutralization of Special Elements Used in a Template Engine"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":2.8,"impactScore":5.9}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-09-16T15:46:28.697895Z","id":"CVE-2026-88064","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"88064","Ordinal":"1","Title":"Backstage: Improper input validation in TechDocs MkDocs configur","CVE":"CVE-2026-88064","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"88064","Ordinal":"1","NoteData":"Backstage is an open framework for building developer portals. Prior to 1.14.6 and from 1.15.0 until 1.15.4, the @backstage/plugin-techdocs-node package insufficiently validates mkdocs.yml supplied by an authenticated user who can register or modify a TechDocs source. Unsafe Python YAML tags, markdown_extensions names and configuration, theme options, and extra_templates values can reach the documentation generator and cause unintended code execution. The resulting impact is limited to the files, credentials, network access, and other resources available to the TechDocs backend or build container. This issue is fixed in versions 1.14.6 and 1.15.4.","Type":"Description","Title":"Backstage: Improper input validation in TechDocs MkDocs configur"}]}}}