CVE-2025-61786 PUBLISHED

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

Assigner: GitHub_M
Reserved: 30.09.2025 Published: 08.10.2025 Updated: 08.10.2025

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.

Metrics

CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
CVSS Score: 3.3

Product Status

Vendor denoland
Product deno
Versions
  • Version >= 2.3.0, < 2.5.3 is affected
  • Version < 2.2.15 is affected

References

Problem Types

  • CWE-269: Improper Privilege Management CWE