Skip to main content
← All vulnerabilities
CVE-2025-61786GHSA-QQ26-84MH-26J9

Deno's --deny-read check does not prevent permission bypass

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.5.3, 2.2.15
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

Deno is a JavaScript, TypeScript, and WebAssembly runtime. In versions prior to 2.5.3 and 2.2.15, `Deno.FsFile.prototype.stat` and `Deno.FsFile.prototype.statSync` are not limited by the permission model check `--deny-read=./`. It's possible to retrieve stats from files that the user do not have explicit read access to (the script is executed with `--deny-read=./`). Similar APIs like `Deno.stat` and `Deno.statSync` require `allow-read` permission, however, when a file is opened, even with file-write only flags and deny-read permission, it's still possible to retrieve file stats, and thus bypass the permission model. Versions 2.5.3 and 2.2.15 fix the issue.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • denoland deno

    From 2.3.0 · fixed in 2.5.3; fixed in 2.2.15

  • denocrates.io

    fixed in 2.5.3

References 5

GitHub · denoland/deno