Skip to main content
← All vulnerabilities
CVE-2023-28445GHSA-C25X-CM9X-QQGX

Deno improperly handles resizable ArrayBuffer

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.32.1, 0.88.0, 0.103.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • denoland deno

    1.32.0

  • Denocrates.io

    From 1.32.0 · fixed in 1.32.1

  • serde_v8crates.io

    From 0.87.0 · fixed in 0.88.0

  • deno_runtimecrates.io

    From 0.102.0 · fixed in 0.103.0

References 3

GitHub · denoland/deno