CRITICAL🇬🇧 English

CVE-2023-28445

Deno 1.32.0: out-of-bound read/write przez Resizable ArrayBuffers

CVSS 9.9v3.1pub. 2023-03-24upd. 2024-11-21

Podatność w Deno 1.32.0 umożliwia odczyt i zapis poza granicami bufora pamięci w wyniku nieprawidłowej obsługi Resizable ArrayBuffers przekazywanych do funkcji asynchronicznych. Luka jest krytyczna ze względu na możliwość przejęcia kontroli nad procesem lub ujawnienia wrażliwych danych.

Pokaż oryginał (EN)

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.

🤖 Analiza AI
Jak działa

Gdy Resizable ArrayBuffer zostaje przekazany do funkcji asynchronicznej, a jego rozmiar zostanie zmniejszony w trakcie trwania tej operacji, środowisko wykonawcze Deno może odwoływać się do obszarów pamięci poza aktualnie przydzielonym buforem. Prowadzi to do out-of-bound read (CWE-125) oraz out-of-bound write (CWE-787) — dwóch klas błędów powszechnie wykorzystywanych do eskalacji uprawnień lub wykonania arbitralnego kodu. Błąd dotyczy warstwy integracji serde_v8 z silnikiem V8 i operacji asynchronicznych w runtime Deno.

Skutki

Atakujący może odczytać dane z pamięci procesu lub nadpisać obszary pamięci poza buforem, co potencjalnie prowadzi do wykonania arbitralnego kodu (RCE) lub ujawnienia poufnych informacji. Zakres wpływu obejmuje poufność, integralność oraz dostępność systemu.

Mitygacja

Należy zaktualizować Deno do wersji 1.32.1 (tymczasowe wyłączenie Resizable ArrayBuffers) lub 1.32.2 (docelowa poprawka z właściwym rozwiązaniem). Jako obejście tymczasowe można uruchomić Deno z flagą `--v8-flags=--no-harmony-rab-gsab`, która wyłącza obsługę Resizable ArrayBuffers.

Kogo dotyczy

Wyłącznie Deno w wersji 1.32.0. Użytkownicy platformy Deno Deploy nie są dotknięci tą podatnością.

Uwagi

Według opisu producenta eksploatacja podatności w praktyce jest mało prawdopodobna, ponieważ dotyczy wyłącznie jednej wersji — Deno 1.32.0. Podatność tymczasowo naprawiono w 1.32.1, a docelowa poprawka została dostarczona w 1.32.2.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
  • Deno

    APP
    Deno
    1.32.0
  • Deno Runtime

    APP
    Deno
    0.102.0
  • Deno Serde V8

    APP
    Deno
    0.87.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-22863CRITICAL9.2PL ✓ten sam produkt

Deno node:crypto — brak finalizacji szyfru umożliwia wielokrotne szyfrowanie

CVE-2022-24783CRITICAL10.0PL ✓ten sam produkt

Deno: ominięcie uprawnień umożliwiające wykonanie dowolnego kodu powłoki

CVE-2021-32619CRITICAL9.8PL ✓ten sam produkt

Obejście uprawnień sieciowych i systemu plików w Deno (import dynamiczny)

CVE-2026-44726HIGH7.4ten sam produkt

Deno is a JavaScript, TypeScript, and WebAssembly runtime. From 2.0.0 until 2.7.8, a flaw in Deno's Node.js tl...

CVE-2026-49401HIGH7.3ten sam produkt

Deno is a JavaScript, TypeScript, and WebAssembly runtime. Prior to 2.7.14, Deno's permission system enforces ...