{"schema":"threatline.record/2","record":{"id":"CVE-2026-106509","aliases":["GHSA-8w7q-29mw-gf5c"],"summary":"Backstage: Improper validation of MkDocs theme configuration in TechDocs","details":"### Impact\n\nWhen TechDocs is configured to build documentation locally or in a container, a user with write access to a registered repository can include configuration values in `mkdocs.yml` that cause arbitrary code execution during the documentation build process.\n\n### Patches\n\nPatched in `@backstage/plugin-techdocs-node` version `1.15.4`\n\n### Workarounds\n\n- Configure TechDocs with `techdocs.generator.runIn: 'docker'` instead of `'local'` to provide container isolation, though this does not fully mitigate the risk.\n- Restrict write access to repositories registered in the Backstage catalog to trusted users.","categories":["Libraries & packages"],"product":"@backstage/plugin-techdocs-node","vendor":"backstage","ecosystem":"npm","affected_ranges":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-8w7q-29mw-gf5c","source_modified_at":"2026-10-07T16:23:31Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@backstage/plugin-techdocs-node"},"range":"< 1.15.4"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-106509","source_modified_at":"2026-10-07T18:01:48.511Z","fetched_at":"2026-10-23T18:45:31.882637Z","product":"backstage","vendor":"backstage","versions":[{"version":"< 1.50.5","status":"affected"},{"version":">= 1.51.0-next.0, < 1.54.6","status":"affected"}],"defaultStatus":null},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-106509","source_modified_at":"2026-10-07T18:01:48.511Z","fetched_at":"2026-10-23T18:45:31.882637Z","product":"plugin-techdocs-node","vendor":"@backstage","versions":[{"version":"< 1.14.6","status":"affected"},{"version":">= 1.15.0, < 1.15.4","status":"affected"}],"defaultStatus":null},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-8w7q-29mw-gf5c","source_modified_at":"2026-10-07T16:30:04.718106469Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@backstage/plugin-techdocs-node","purl":"pkg:npm/%40backstage/plugin-techdocs-node"},"ranges":[{"events":[{"introduced":"0"},{"fixed":"1.15.4"}],"type":"SEMVER"}],"versions":[]}],"fixed_versions":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-8w7q-29mw-gf5c","source_modified_at":"2026-10-07T16:23:31Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@backstage/plugin-techdocs-node"},"version":"1.15.4"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-8w7q-29mw-gf5c","source_modified_at":"2026-10-07T16:30:04.718106469Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@backstage/plugin-techdocs-node","purl":"pkg:npm/%40backstage/plugin-techdocs-node"},"version":"1.15.4"}],"cvss":7.7,"severity":"High","kev":{"listed":false},"epss":{"probability":0.0037,"percentile":0.29716,"score_date":"2026-10-23"},"published_at":"2026-10-06T21:50:07.721Z","modified_at":"2026-10-07T18:01:48.511Z","provenance":[{"source":"GitHub Advisory Database","url":"https://github.com/advisories/GHSA-8w7q-29mw-gf5c","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-07T16:23:31Z"},{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-106509","fetched_at":"2026-10-23T18:45:31.882637Z","source_modified_at":"2026-10-07T18:01:48.511Z"},{"source":"OSV","url":"https://osv.dev/vulnerability/GHSA-8w7q-29mw-gf5c","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-07T16:30:04.718106469Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-106509","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["GitHub Advisory Database","CVE List","OSV","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/backstage/backstage/security/advisories/GHSA-8w7q-29mw-gf5c","tags":["x_refsource_CONFIRM"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-106509","source":"GitHub Advisory Database"},{"source":"CVE List","url":"https://github.com/backstage/backstage/commit/02cd7cdbb18b687446277b5602adaee7f1d53cbb","tags":["x_refsource_MISC"]},{"source":"CVE List","url":"https://github.com/backstage/backstage/commit/a900a9953c8f7ad3ba1906d1d257725a9996cc9d","tags":["x_refsource_MISC"]},{"source":"CVE List","url":"https://github.com/backstage/backstage/releases/tag/v1.50.5","tags":["x_refsource_MISC"]},{"source":"CVE List","url":"https://github.com/backstage/backstage/releases/tag/v1.54.6","tags":["x_refsource_MISC"]},{"url":"https://github.com/advisories/GHSA-8w7q-29mw-gf5c","source":"GitHub Advisory Database"}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","ssvc":{"exploitation":"none","automatable":"no","technical_impact":"partial","assessed_at":"2026-10-07T18:01:39.138438Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"ecosystem","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-07T18:01:48.511Z","content_hash":"45d0e0ba770e9123e0bffdb5a29d03444fc7015157895c479e0c60be7a0f6849"}}
