Skip to content
OpenAdvisories
Critical · 10.0 CVE-2023-28445 EUVD-2023-0976GHSA-c25x-cm9x-qqgx

Deno improperly handles resizable ArrayBuffer

Published Mar 23, 2023 · Updated Feb 20, 2025 · Assigned by GitHub_M

Description

Deno is a runtime for JavaScript and TypeScript that uses V8 and is built in Rust. Resizable ArrayBuffers passed to asynchronous 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. The problem has been resolved by disabling resizable ArrayBuffers temporarily in Deno 1.32.1. Deno 1.32.2 will re-enable resizable ArrayBuffers with a proper fix. As a workaround, run with `--v8-flags=--no-harmony-rab-gsab` to disable resizable ArrayBuffers.

Affected products

VendorProductAffectedFixed
denoland deno = 1.32.0 —

Affected packages

EcosystemPackageAffectedFixedRecord
crates.io Deno >= 1.32.0, < 1.32.1 1.32.1 GHSA-c25x-cm9x-qqgx
crates.io deno_runtime >= 0.102.0, < 0.103.0 0.103.0 GHSA-c25x-cm9x-qqgx
crates.io serde_v8 >= 0.87.0, < 0.88.0 0.88.0 GHSA-c25x-cm9x-qqgx

References