{"id":"CVE-2026-119288","kind":"vulnerability","aliases":["CVE-2026-119288"],"related":[],"title":"Zuke: Windows build shim lets injected text run extra commands","description":"Zuke is a code-first, strongly typed build automation system for Deno. Prior to 1.51.0, @zuke/core launches resolved Windows .cmd and .bat shims by prepending cmd /c, causing cmd.exe to reparse a command line assembled with C-runtime quoting rules. A build running on Windows that resolves a tool from node_modules/.bin and passes attacker-influenced text containing an unquoted &, |, or ^ metacharacter can execute an additional attacker-chosen command in the build's context with access to its credentials. POSIX platforms are not affected. This issue is fixed in version 1.51.0.","summary":"Zuke is a Deno build automation library whose @zuke/core package launches Windows .cmd and .bat tools through cmd /c, so unquoted shell metacharacters in attacker-influenced arguments are reparsed by cmd.exe. An attacker who controls that text can run an extra command with the build's credentials.","severity":"high","cvss":7.0,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["build-automation","deno","package","windows","zuke"],"not_affected_if":["no-untrusted-arguments","posix-only-builds"],"how_to_check":"- Check the installed @zuke/core version in the project lockfile or with `deno info`, and see whether it is below `1.51.0`.\n- Confirm whether builds run on Windows and whether any build passes external text into tools resolved from node_modules/.bin.","fix":"- @zuke/core: move to `1.51.0`.","status":"open","published_at":"2026-10-30T16:17:42+00:00","first_seen_at":"2026-10-30T16:31:25+00:00","triaged_at":"2026-10-30T16:32:06+00:00","updated_at":"2026-10-30T16:32:06+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-30T16:32:06Z","model":"claude-haiku-5-5","output":{"fix":"- @zuke/core: move to `1.51.0`.","reach":"unknown","title":"Zuke: Windows build shim lets injected text run extra commands","impact":"high","summary":"Zuke is a Deno build automation library whose @zuke/core package launches Windows .cmd and .bat tools through cmd /c, so unquoted shell metacharacters in attacker-influenced arguments are reparsed by cmd.exe. An attacker who controls that text can run an extra command with the build's credentials.","audience":"developers","category":"package","nicknames":[],"who_cares":["deno","zuke","windows","build-automation"],"confidence":0.7,"fix_status":"available","needs_auth":"unknown","worst_case":"Attacker runs extra commands in the build with its credentials","analyst_note":"","how_to_check":"- Check the installed @zuke/core version in the project lockfile or with `deno info`, and see whether it is below `1.51.0`.\n- Confirm whether builds run on Windows and whether any build passes external text into tools resolved from node_modules/.bin.","plain_action":"","needs_analyst":false,"not_affected_if":["posix-only-builds","no-untrusted-arguments"],"who_is_affected":"Only builds running on Windows that resolve a tool from node_modules/.bin and pass attacker-influenced text into its arguments are exposed. POSIX builds are not affected, and builds that never handle outside input in that way can skip it.","user_interaction":"unknown","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000689,"input_tokens":4218,"output_tokens":535,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-119288':13A,16A '-2026':12A,15A '/c':42B,99C '1.51.0':87C,166C 'access':151C 'addit':140C 'affect':159C 'argument':51B 'assembl':107C 'attack':49B,57B,129C,142C 'attacker-chosen':141C 'attacker-influenc':48B,128C 'autom':19B,29B,81C 'bat':38B,94C 'build':3A,18B,28B,69B,80C,115C,147C 'build-autom':17B 'c':110C 'c-runtim':109C 'caus':100C 'chosen':143C 'cmd':36B,41B,92C,98C 'cmd.exe':55B,101C 'code':76C 'code-first':75C 'command':10A,66B,105C,144C 'contain':132C 'context':149C 'control':59B 'credenti':71B,154C 'cve':11A,14A 'deno':20B,27B,84C 'execut':138C 'extra':9A,65B 'first':77C 'fix':163C 'influenc':50B,130C 'inject':6A 'issu':161C 'launch':34B,89C 'let':5A 'librari':30B 'line':106C 'metacharact':46B,136C 'modules/.bin':125C 'node':124C 'packag':21B,33B 'pass':127C 'platform':156C 'posix':155C 'prepend':97C 'prior':85C 'quot':112C 'repars':53B,103C 'resolv':90C,120C 'rule':113C 'run':8A,63B,116C 'runtim':111C 'shell':45B 'shim':4A,95C 'strong':78C 'system':82C 'text':7A,61B,131C 'tool':39B,122C 'type':79C 'unquot':44B,134C 'version':165C 'whose':31B 'window':2A,22B,35B,91C,118C 'zuke':1A,23B,24B,72C 'zuke/core':32B,88C","nicknames":[],"mitigations":[],"who_affected":"Only builds running on Windows that resolve a tool from node_modules/.bin and pass attacker-influenced text into its arguments are exposed. POSIX builds are not affected, and builds that never handle outside input in that way can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"first_public_at":"2026-10-30T16:17:42+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-119288","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-119288","severity":null,"published_at":"2026-10-30T16:17:42+00:00","modified_at":"2026-10-30T16:17:42+00:00","first_seen_at":"2026-10-30T16:31:25+00:00","fetched_at":"2026-10-30T16:31:25+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}