Path Traversal in Deno
CVE-2026-49406
Deno is a JavaScript, TypeScript, and WebAssembly runtime. Prior to 2.7.12, when Deno was run in BYONM mode (nodeModulesDir: "manual"), the module resolver did not validate that a package's resolved entrypoint stayed within its node_modules/<pkg>/ directory. A malicious package.json whose main field contained .. segments was able to resolve to an arbitrary path on disk, and the resolver then read that file without consulting the --allow-read allowlist. This let a require("evil-pkg") call return the contents of a file that a direct Deno.readTextFileSync(...) call would have been blocked from reading. This vulnerability is fixed in 2.7.12.
Vulnerability class: Path Traversal (Directory Traversal)
EPSS: 0.002 (7.3th percentile) — read the EPSS interpretation.
CVSS v3 metric
CVSS v3 base score 5.5 (Medium). Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N.
Affected products
- Deno
- Denoland Deno — versions < 2.7.12
Weakness classification (CWE)
References
- security-advisories@github.com (x_refsource_CONFIRM, Exploit, Mitigation, Vendor Advisory)
Frequently asked questions
- What is CVE-2026-49406?
- CVE-2026-49406 is a medium-severity vulnerability in Deno, classified under Path Traversal. CVSS score: 5.5/10. Published 2026-06-23.
- How severe is CVE-2026-49406?
- Medium severity. CVSS v3 base score is 5.5 out of 10.