CVE-2025-61785: Deno's --deny-write check does not prevent permission bypass
(updated )
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.
References
- github.com/advisories/GHSA-vg2r-rmgp-cgqj
- github.com/denoland/deno
- github.com/denoland/deno/commit/992e998dfe436cdc9325232759af8be92f11739b
- github.com/denoland/deno/pull/30872
- github.com/denoland/deno/releases/tag/v2.2.15
- github.com/denoland/deno/releases/tag/v2.5.3
- github.com/denoland/deno/security/advisories/GHSA-vg2r-rmgp-cgqj
- nvd.nist.gov/vuln/detail/CVE-2025-61785
Code Behaviors & Features
Detect and mitigate CVE-2025-61785 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →