CVE-2025-61785 PUBLISHED

Deno's --deny-write 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.utime and Deno.FsFile.prototype.utimeSync are not limited by the permission model check --deny-write=./. It's possible to change to change the access (atime) and modification (mtime) times on the file stream resource even when the file is opened with read only permission (and write: false) and file write operations are not allowed (the script is executed with --deny-write=./). Similar APIs like Deno.utime and Deno.utimeSync require allow-write permission, however, when a file is opened, even with read only flags and deny-write permission, it's still possible to change the access (atime) and modification (mtime) times, and thus bypass the permission model. Versions 2.5.3 and 2.2.15 fix the issue.

Metrics

CVSS Vector: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/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-266: Incorrect Privilege Assignment CWE