Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
denoland deno
>= 2.3.0, < 2.5.3affected< 2.2.15affected
References
- https://github.com/denoland/deno/security/advisories/GHSA-vg2r-rmgp-cgqj ↗
- https://github.com/denoland/deno/pull/30872 ↗
- https://github.com/denoland/deno/commit/992e998dfe436cdc9325232759af8be92f11739b ↗
- https://github.com/denoland/deno/releases/tag/v2.2.15 ↗
- https://github.com/denoland/deno/releases/tag/v2.5.3 ↗