GitHub Advisoryadvisory · crates.io
GHSA-c25x-cm9x-qqgx Deno improperly handles resizable ArrayBuffer
CRITICAL
Official page ↗
- Aliases
- CVE-2023-28445
- Ecosystem
- crates.io
- Packages
- Deno, serde_v8, deno_runtime
- Severity
- Critical
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
- Weaknesses
- CWE-125, CWE-787
- Reviewed
- 2023-03-23
Affected packages
• crates.io Deno: >= 1.32.0, < 1.32.1 → fixed in 1.32.1
• crates.io serde_v8: >= 0.87.0, < 0.88.0 → fixed in 0.88.0
• crates.io deno_runtime: >= 0.102.0, < 0.103.0 → fixed in 0.103.0
Description
Impact
Resizable ArrayBuffers passed to asynchronous native functions that are shrunk during the asynchronous operation could result in an out-of-bound read/write.
It is unlikely that this has been exploited in the wild, as the only version affected is Deno 1.32.0.
Deno Deploy users are not affected.
Patches
The problem has been resolved by disabling resizable ArrayBuffers temporarily in Deno 1.32.1. A future version of Deno will re-enable resizable ArrayBuffers with a proper fix.
Workarounds
Upgrade to Deno 1.32.1, or run with `--v8-flags=--no-harmony-rab-gsab` to disable resizable ArrayBuffers.
Related
Alias · CVE (1)
- CVE-2023-28445 Deno is a runtime for JavaScript and TypeScript that uses V8 and is built in Rust. vulnerability
References
- https://github.com/denoland/deno/security/advisories/GHSA-c25x-cm9x-qqgx web
- https://nvd.nist.gov/vuln/detail/CVE-2023-28445 advisory
- https://github.com/denoland/deno/pull/18395 web
- https://github.com/denoland/deno/pull/18452 web
- https://github.com/denoland/deno package
- https://github.com/denoland/deno/releases/tag/v1.32.1 web