CRITICAL✓ PATCH🇬🇧 English

CVE-2020-1900

Use-after-free w Facebook HHVM podczas deserializacji obiektów z dynamicznymi właściwościami

CVSS 9.8v3.1pub. 2021-03-11upd. 2024-11-21

Podatność typu use-after-free w środowisku uruchomieniowym Facebook HHVM pojawia się podczas deserializacji obiektów posiadających dynamiczne właściwości. Błąd może prowadzić do przejęcia kontroli nad procesem, co czyni go krytycznym zagrożeniem dla aplikacji opartych na HHVM.

Pokaż oryginał (EN)

When unserializing an object with dynamic properties HHVM needs to pre-reserve the full size of the dynamic property array before inserting anything into it. Otherwise the array might resize, invalidating previously stored references. This pre-reservation was not occurring in HHVM prior to v4.32.3, between versions 4.33.0 and 4.56.0, 4.57.0, 4.58.0, 4.58.1, 4.59.0, 4.60.0, 4.61.0, 4.62.0.

🤖 Analiza AI
Jak działa

Podczas deserializacji obiektu z dynamicznymi właściwościami HHVM powinno z wyprzedzeniem zarezerwować pełny rozmiar tablicy dynamicznych właściwości przed wstawieniem jakichkolwiek danych. Jeśli rezerwacja nie nastąpi przed operacją wstawiania, tablica może ulec zmianie rozmiaru (resize), co unieważnia wcześniej przechowywane referencje do jej elementów. Dostęp do unieważnionych referencji stanowi klasyczny błąd use-after-free — odwołanie do obszaru pamięci, który został zwolniony lub przemieszczony. Atakujący może spreparować odpowiednio skonstruowany serializowany obiekt, aby wywołać ten stan.

Skutki

Udane wykorzystanie podatności może umożliwić atakującemu zdalne wykonanie kodu (RCE), ujawnienie poufnych danych lub destabilizację działania serwisu — wszystkie trzy wymiary (poufność, integralność, dostępność) są ocenione jako wysokie w wektorze CVSS.

Mitygacja

Należy zaktualizować HHVM do wersji 4.32.3 lub wyższej (poza wymienionymi podatnymi wersjami z gałęzi 4.33–4.62). Szczegółowe informacje o aktualizacji bezpieczeństwa dostępne są na blogu HHVM (https://hhvm.com/blog/2020/06/30/security-update.html) oraz w powiązanym commicie na GitHub.

Kogo dotyczy

Facebook HHVM w wersjach wcześniejszych niż 4.32.3 oraz w wersjach od 4.33.0 do 4.56.0, a także w wersjach 4.57.0, 4.58.0, 4.58.1, 4.59.0, 4.60.0, 4.61.0 i 4.62.0.

Uwagi

Wpis CVE opublikowany w marcu 2021 roku, natomiast aktualizacja bezpieczeństwa producenta (blog HHVM) pochodzi z 30 czerwca 2020 roku, co wskazuje na znaczne opóźnienie między wydaniem patcha a formalną rejestracją podatności.

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

    APP
    Facebook
    4.57.04.58.04.58.14.59.04.60.04.61.04.62.04.33.0 – 4.56.1 (bez)< 4.32.3
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
Tagi
Memory
CWE
Referencje

Powiązane podatności

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

HHVM: użycie przestarzałego protokołu TLS 1.0 zamiast TLS 1.3

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

RCE poprzez integer overflow w IOBuf w Facebook Folly i HHVM

CVE-2020-1917CRITICAL9.8PL ✓ten sam produkt

Out-of-bounds write w HHVM podczas przetwarzania danych EXIF

CVE-2020-1916CRITICAL9.8PL ✓ten sam produkt

Integer overflow i out-of-bounds write w funkcji ldap_escape HHVM

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

Integer overflow w preg_quote HHVM prowadzący do heap overflow (RCE)