CRITICAL🇬🇧 English

CVE-2022-40138

RCE w Facebook Hermes — błąd konwersji liczb całkowitych w generatorze bytecode

CVSS 9.8v3.1pub. 2022-10-11upd. 2024-11-21

Błąd konwersji liczb całkowitych (CWE-681) w generatorze bytecode silnika JavaScript Facebook Hermes umożliwia wykonanie operacji Out-Of-Bounds i w konsekwencji zdalne wykonanie dowolnego kodu (RCE). Podatność jest krytyczna (CVSS 9.8) i nie wymaga żadnego uwierzytelnienia ani interakcji użytkownika.

Pokaż oryginał (EN)

An integer conversion error in Hermes bytecode generation, prior to commit 6aa825e480d48127b480b08d13adf70033237097, could have been used to perform Out-Of-Bounds operations and subsequently execute arbitrary code. 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

Podczas generowania bytecode w silniku Hermes dochodzi do nieprawidłowej konwersji wartości całkowitych, co prowadzi do operacji odczytu lub zapisu poza granicami przydzielonej pamięci (Out-Of-Bounds). Atakujący może przygotować specjalnie spreparowany kod JavaScript, który — po przetworzeniu przez podatną wersję Hermes — doprowadzi do wykonania dowolnego kodu w kontekście procesu wykonującego ten skrypt. Exploitacja jest możliwa wyłącznie wtedy, gdy Hermes przetwarza niezaufany kod JavaScript.

Skutki

Atakujący może wykonać dowolny kod w kontekście aplikacji korzystającej z Hermes, co może prowadzić do pełnego przejęcia kontroli nad procesem, ujawnienia danych lub ich modyfikacji.

Mitygacja

Należy zaktualizować Facebook Hermes do wersji zawierającej commit 6aa825e480d48127b480b08d13adf70033237097 lub nowszej, zgodnie z referencjami producenta (https://github.com/facebook/hermes/commit/6aa825e480d48127b480b08d13adf70033237097). Dodatkowo zaleca się upewnienie się, że Hermes nie jest używany do wykonywania niezaufanego kodu JavaScript.

Kogo dotyczy

Facebook Hermes — wersje poprzedzające commit 6aa825e480d48127b480b08d13adf70033237097. Podatność dotyczy wyłącznie wdrożeń, w których Hermes wykonuje niezaufany kod JavaScript; większość aplikacji React Native nie jest zagrożona.

Uwagi

Producent explicite wskazuje, że podatność jest exploitowalna jedynie w scenariuszach, gdy Hermes przetwarza niezaufany kod JavaScript — większość aplikacji React Native nie jest narażona.

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
    < 2022-09-27
🔵
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-23557CRITICAL9.8PL ✓ten sam produkt

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

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

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

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

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

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

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