GitHub Advisoryadvisory · crates.io

GHSA-c25x-cm9x-qqgx Deno improperly handles resizable ArrayBuffer

CRITICAL Published 2023-03-23 Modified 2023-05-01 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

Weakness · CWE (2)

  • CWE-125 Out-of-bounds Read weakness
  • CWE-787 Out-of-bounds Write weakness

References