{"id":"CVE-2026-119291","title":"zuke setup and zuke import follow symbolic links planted at scaffold names, allowing writes outside the target directory","summary":"Zuke is a code-first, strongly typed build automation system for Deno. Prior to 1.4.0, @zuke/cli uses lstat to inspect scaffold names but then performs link-following reads, writes, and permission changes in zuke setup and zuke import. A…","severity":"medium","cvss":5.5,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N","cvssSource":"cna","cwe":["CWE-59"],"vendor":"zuke-build","product":"zuke","affected":["zuke < 1.4.0"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"partial","timestamp":"2026-11-04T22:58:35.892995Z"},"published":"2026-10-30","updated":"2026-11-04","sourceUpdated":"2026-11-04T22:58:47.426Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-119291","references":[{"url":"https://github.com/zuke-build/zuke/security/advisories/GHSA-hc8w-3fgv-22pw","label":"https://github.com/zuke-build/zuke/security/advisories/GHSA-hc8w-3fgv-22pw"},{"url":"https://github.com/zuke-build/zuke/pull/542","label":"https://github.com/zuke-build/zuke/pull/542"},{"url":"https://github.com/zuke-build/zuke/commit/4257b0bc5ef5e387a44f913349646d4baccd1654","label":"https://github.com/zuke-build/zuke/commit/4257b0bc5ef5e387a44f913349646d4baccd1654"},{"url":"https://github.com/zuke-build/zuke/releases/tag/cli-v1.4.0","label":"https://github.com/zuke-build/zuke/releases/tag/cli-v1.4.0"}],"tags":["cve.org"],"epss":0.00145,"epssPercentile":0.03761,"ingestedAt":"2026-11-05T21:36:00.668Z","slug":"CVE-2026-119291","body":"## Overview\n\nZuke is a code-first, strongly typed build automation system for Deno. Prior to 1.4.0, @zuke/cli uses lstat to inspect scaffold names but then performs link-following reads, writes, and permission changes in zuke setup and zuke import. An attacker who supplies an untrusted cloned repository, template, or archive with a symbolic link at a scaffolded name can cause setup to overwrite a target outside the selected directory with the invoking user's permissions. The .gitignore path requires no flag, while --force permits a linked launcher target to be written and made executable; import can also read link-target content and incorporate it into the generated build file. This issue is fixed in version 1.4.0.\n\n## Affected\n\n- `zuke < 1.4.0`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":30,"depthScoreParts":{"impact":30.3,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}