{"schema":"threatline.record/2","record":{"id":"CVE-2026-106510","aliases":["GHSA-4488-j8vj-vqqv"],"summary":"Backstage: Remote code execution via crafted markdown_extensions in TechDocs mkdocs.yml","details":"### Impact\n\nAn authenticated user who can register catalog entities can provide a crafted `mkdocs.yml` causing arbitrary OS command execution on the TechDocs build host when the docs are built.\n\n### Patches\n\nPatched in `@backstage/plugin-techdocs-node`, version `1.15.4`.\n\n### Workarounds\n\nIf you cannot upgrade immediately:\n\n- Switch to `techdocs.builder: external` to isolate TechDocs builds in a container.\n- Restrict who can register catalog entities with TechDocs annotations.\n- Audit existing catalog entities for suspicious `markdown_extensions` values in their `mkdocs.yml` files.","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-4488-j8vj-vqqv","source_modified_at":"2026-10-07T18:03:25Z","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-106510","source_modified_at":"2026-10-07T17:15:43.410Z","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-106510","source_modified_at":"2026-10-07T17:15:43.410Z","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-4488-j8vj-vqqv","source_modified_at":"2026-10-07T18:15:10.717894363Z","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-4488-j8vj-vqqv","source_modified_at":"2026-10-07T18:03:25Z","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-4488-j8vj-vqqv","source_modified_at":"2026-10-07T18:15:10.717894363Z","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.00451,"percentile":0.38205,"score_date":"2026-10-23"},"published_at":"2026-10-07T14:36:53.929Z","modified_at":"2026-10-07T18:15:10.717894363Z","provenance":[{"source":"GitHub Advisory Database","url":"https://github.com/advisories/GHSA-4488-j8vj-vqqv","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-07T18:03:25Z"},{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-106510","fetched_at":"2026-10-23T18:45:31.882637Z","source_modified_at":"2026-10-07T17:15:43.410Z"},{"source":"OSV","url":"https://osv.dev/vulnerability/GHSA-4488-j8vj-vqqv","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-07T18:15:10.717894363Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-106510","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-4488-j8vj-vqqv","tags":["x_refsource_CONFIRM"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-106510","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-4488-j8vj-vqqv","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-07T17:13:13.346488Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"ecosystem","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-07T18:15:10.717894363Z","content_hash":"61bfa44e3426c76d10c6da32d018209277883991037ff608f2870c9df78a1724"}}
