CRITICAL🇬🇧 English

CVE-2023-30470

Use-after-free w Facebook Hermes umożliwiający RCE przez JavaScript

CVSS 9.8v3.1pub. 2023-05-18upd. 2025-01-21

Podatność typu use-after-free w silniku JavaScript Hermes (Facebook) pozwala atakującemu na zdalne wykonanie kodu (RCE) poprzez dostarczenie złośliwego kodu JavaScript. Błąd jest krytyczny (CVSS 9.8) i nie wymaga żadnego uwierzytelnienia ani interakcji użytkownika.

Pokaż oryginał (EN)

A use-after-free related to unsound inference in the bytecode generation when optimizations are enabled for Hermes prior to commit da8990f737ebb9d9810633502f65ed462b819c09 could have been used by an attacker to achieve remote code execution. Note that this is only exploitable in cases where Hermes is used to execute untrusted JavaScript. Hence, most React Native applications are not affected.

🤖 Analiza AI
Jak działa

Błąd wynika z nieprawidłowego wnioskowania (unsound inference) podczas generowania bytecode'u, gdy włączone są optymalizacje kompilatora Hermes. Prowadzi to do sytuacji use-after-free — silnik odwołuje się do już zwolnionego obszaru pamięci, co atakujący może wykorzystać do przejęcia kontroli nad wykonaniem. Luka jest eksploitowalna wyłącznie w scenariuszach, w których Hermes wykonuje niezaufany kod JavaScript — np. w aplikacjach ładujących zewnętrzny skrypt.

Skutki

Atakujący może osiągnąć zdalne wykonanie dowolnego kodu (RCE) w kontekście aplikacji korzystającej z Hermes, co może prowadzić do pełnego naruszenia poufności, integralności oraz dostępności danych.

Mitygacja

Należy zaktualizować Hermes do wersji zawierającej commit da8990f737ebb9d9810633502f65ed462b819c09 lub nowszej. Jako środek tymczasowy warto rozważyć wyłączenie optymalizacji kompilatora Hermes oraz unikanie wykonywania niezaufanego kodu JavaScript w środowiskach opartych na tym silniku.

Kogo dotyczy

Facebook Hermes we wszystkich wersjach poprzedzających commit da8990f737ebb9d9810633502f65ed462b819c09. Dotyczy wyłącznie przypadków, gdy Hermes jest używany do wykonywania niezaufanego kodu JavaScript — większość standardowych aplikacji React Native nie jest podatna.

Uwagi

Podatność jest eksploitowalna jedynie gdy Hermes wykonuje niezaufany JavaScript — producent wprost wskazuje, że większość aplikacji React Native nie jest narażona na atak.

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

    APP
    Facebook
    wszystkie wersje
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEMemory
CWE
Referencje

Powiązane podatności

CVE-2023-28081CRITICAL9.8PL ✓ten sam produkt

Use-after-free w Facebook Hermes umożliwiający RCE przez payload JS

CVE-2023-23556CRITICAL9.8PL ✓ten sam produkt

RCE w Facebook Hermes — błąd zapisu poza granicami przy konwersji BigInt

CVE-2023-23557CRITICAL9.8PL ✓ten sam produkt

RCE w Facebook Hermes via type confusion przy kopiowaniu właściwości obiektów

CVE-2023-25933CRITICAL9.8PL ✓ten sam produkt

Type confusion w TypedArray silnika Hermes umożliwia RCE przez JavaScript

CVE-2022-32234CRITICAL9.8PL ✓ten sam produkt

Out-of-bounds write w Facebook Hermes przy obsłudze dużych tablic