{"id":"CVE-2026-54566","state":"PUBLISHED","title":"Markdown Preview Enhanced: Remote Code Execution via VM Sandbox Escape in `.crossnote/config.js` and `.crossnote/parser.js`","description":"Markdown Preview Enhanced is a Markdown preview extension for Visual Studio Code. Prior to 0.8.29, Markdown Preview Enhanced evaluates repository-controlled .crossnote/config.js and .crossnote/parser.js files with vm.runInNewContext, which does not provide a security boundary from the Node.js host realm. Opening a Markdown file in a malicious repository automatically loads these files, and prototype-chain traversal can reach the host Function constructor and process object, allowing operating-system commands to execute as the victim account without further interaction. Both configuration evaluation and parser-hook evaluation are affected, and the attack does not depend on module-scoped require being available. This issue is fixed in version 0.8.29.","publishedAt":"2026-10-14T19:08:43.663Z","updatedAt":"2026-10-14T19:45:22.736Z","severity":{"score":8.5,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","source":"GitHub_M"},"assigner":"GitHub_M","products":["shd101wyy vscode-markdown-preview-enhanced"],"affected":[{"vendor":"shd101wyy","product":"vscode-markdown-preview-enhanced","versions":[{"version":"< 0.8.29","status":"affected"}]}],"references":["https://github.com/shd101wyy/vscode-markdown-preview-enhanced/security/advisories/GHSA-427h-jhpr-8jch","https://github.com/shd101wyy/crossnote/pull/443","https://github.com/shd101wyy/vscode-markdown-preview-enhanced/pull/2320","https://github.com/shd101wyy/crossnote/commit/e4890d64502e53b717cce0cb73f1a78b244dc640","https://github.com/shd101wyy/vscode-markdown-preview-enhanced/commit/0d4010988c6ae56a38c6dec4a7509cbd5a7dcb4c","https://github.com/shd101wyy/crossnote/releases/tag/0.9.30","https://github.com/shd101wyy/vscode-markdown-preview-enhanced/releases/tag/0.8.29"],"weaknesses":["CWE-94"],"ingestedAt":"2026-10-29T20:12:24.861Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/54xxx/CVE-2026-54566.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-54566","state":"PUBLISHED","datePublished":"2026-10-14T19:08:43.663Z","dateUpdated":"2026-10-14T19:45:22.736Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-06-15T19:15:27.342Z"},"containers":{"cna":{"title":"Markdown Preview Enhanced: Remote Code Execution via VM Sandbox Escape in `.crossnote/config.js` and `.crossnote/parser.js`","descriptions":[{"lang":"en","value":"Markdown Preview Enhanced is a Markdown preview extension for Visual Studio Code. Prior to 0.8.29, Markdown Preview Enhanced evaluates repository-controlled .crossnote/config.js and .crossnote/parser.js files with vm.runInNewContext, which does not provide a security boundary from the Node.js host realm. Opening a Markdown file in a malicious repository automatically loads these files, and prototype-chain traversal can reach the host Function constructor and process object, allowing operating-system commands to execute as the victim account without further interaction. Both configuration evaluation and parser-hook evaluation are affected, and the attack does not depend on module-scoped require being available. This issue is fixed in version 0.8.29."}],"affected":[{"vendor":"shd101wyy","product":"vscode-markdown-preview-enhanced","versions":[{"version":"< 0.8.29","status":"affected"}]}],"references":[{"url":"https://github.com/shd101wyy/vscode-markdown-preview-enhanced/security/advisories/GHSA-427h-jhpr-8jch","name":"https://github.com/shd101wyy/vscode-markdown-preview-enhanced/security/advisories/GHSA-427h-jhpr-8jch","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/shd101wyy/crossnote/pull/443","name":"https://github.com/shd101wyy/crossnote/pull/443","tags":["x_refsource_MISC"]},{"url":"https://github.com/shd101wyy/vscode-markdown-preview-enhanced/pull/2320","name":"https://github.com/shd101wyy/vscode-markdown-preview-enhanced/pull/2320","tags":["x_refsource_MISC"]},{"url":"https://github.com/shd101wyy/crossnote/commit/e4890d64502e53b717cce0cb73f1a78b244dc640","name":"https://github.com/shd101wyy/crossnote/commit/e4890d64502e53b717cce0cb73f1a78b244dc640","tags":["x_refsource_MISC"]},{"url":"https://github.com/shd101wyy/vscode-markdown-preview-enhanced/commit/0d4010988c6ae56a38c6dec4a7509cbd5a7dcb4c","name":"https://github.com/shd101wyy/vscode-markdown-preview-enhanced/commit/0d4010988c6ae56a38c6dec4a7509cbd5a7dcb4c","tags":["x_refsource_MISC"]},{"url":"https://github.com/shd101wyy/crossnote/releases/tag/0.9.30","name":"https://github.com/shd101wyy/crossnote/releases/tag/0.9.30","tags":["x_refsource_MISC"]},{"url":"https://github.com/shd101wyy/vscode-markdown-preview-enhanced/releases/tag/0.8.29","name":"https://github.com/shd101wyy/vscode-markdown-preview-enhanced/releases/tag/0.8.29","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV4_0":{"attackVector":"LOCAL","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"PASSIVE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":8.5,"baseSeverity":"HIGH","vectorString":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","version":"4.0"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-94","lang":"en","description":"CWE-94: Improper Control of Generation of Code ('Code Injection')","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-10-14T19:08:43.663Z"},"source":{"advisory":"GHSA-427h-jhpr-8jch","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/shd101wyy/vscode-markdown-preview-enhanced/security/advisories/GHSA-427h-jhpr-8jch","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-14T19:44:50.050593Z","id":"CVE-2026-54566","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-14T19:45:22.736Z"}}]}}}