CRITICAL🇬🇧 English

CVE-2023-28081

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

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

Błąd optymalizacji bytecode w silniku JavaScript Facebook Hermes prowadzi do podatności use-after-free, która może zostać wykorzystana do uzyskania arbitralnego wykonania kodu. Podatność jest krytyczna, ponieważ nie wymaga żadnego uwierzytelnienia ani interakcji użytkownika.

Pokaż oryginał (EN)

A bytecode optimization bug in Hermes prior to commit e6ed9c1a4b02dc219de1648f44cd808a56171b81 could be used to cause an use-after-free and obtain arbitrary code execution via a carefully crafted payload. 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 znajduje się w etapie optymalizacji bytecode silnika Hermes — podczas przetwarzania kodu JavaScript nieprawidłowa optymalizacja powoduje, że program odwołuje się do obszaru pamięci, który został już zwolniony (use-after-free, CWE-416). Atakujący może skonstruować specjalnie spreparowany payload JavaScript, który wywołuje ten błąd i pozwala na kontrolowane wykonanie dowolnego kodu. Podatność jest możliwa do wykorzystania wyłącznie wtedy, gdy silnik Hermes jest użyty do wykonywania niezaufanego kodu JavaScript.

Skutki

Skuteczny atak pozwala atakującemu na uzyskanie pełnego, arbitralnego wykonania kodu (RCE) w kontekście procesu uruchamiającego Hermes. Zagrożone są poufność, integralność oraz dostępność systemu.

Mitygacja

Należy zaktualizować Facebook Hermes do wersji zawierającej commit e6ed9c1a4b02dc219de1648f44cd808a56171b81 lub nowszej. Szczegóły dostępne w referencjach producenta: https://www.facebook.com/security/advisories/cve-2023-28081. Dodatkowo należy upewnić się, że Hermes nie jest używany do wykonywania niezaufanego kodu JavaScript, co eliminuje możliwość wykorzystania podatności.

Kogo dotyczy

Facebook Hermes we wszystkich wersjach poprzedzających commit e6ed9c1a4b02dc219de1648f44cd808a56171b81; dotyczy wyłącznie środowisk, w których Hermes wykonuje niezaufany kod JavaScript — większość aplikacji React Native nie jest podatna.

Uwagi

Producent wyraźnie zaznacza, że większość aplikacji React Native nie jest narażona, ponieważ podatność wymaga wykonywania niezaufanego kodu JavaScript przez Hermes. Scenariusze ryzyka obejmują przede wszystkim środowiska dynamicznie ładujące zewnętrzny kod JS.

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-30470CRITICAL9.8PL ✓ten sam produkt

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

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