CRITICAL✓ PATCH🇬🇧 English

CVE-2021-24025

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

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

Błędne obliczenia rozmiaru ciągu znaków w funkcji preg_quote w HHVM umożliwiają wywołanie integer overflow, który prowadzi do heap overflow. Podatność może być wykorzystana zdalnie bez uwierzytelnienia i bez interakcji użytkownika, co czyni ją krytyczną.

Pokaż oryginał (EN)

Due to incorrect string size calculations inside the preg_quote function, a large input string passed to the function can trigger an integer overflow leading to a heap overflow. This issue affects HHVM versions prior to 4.56.3, all versions between 4.57.0 and 4.80.1, all versions between 4.81.0 and 4.93.1, and versions 4.94.0, 4.95.0, 4.96.0, 4.97.0, 4.98.0.

🤖 Analiza AI
Jak działa

Funkcja preg_quote w HHVM nieprawidłowo oblicza rozmiar przetwarzanego ciągu znaków. Przekazanie odpowiednio dużego ciągu wejściowego powoduje przepełnienie liczby całkowitej (integer overflow) przy wyliczaniu wymaganego rozmiaru bufora. Skutkuje to alokacją zbyt małego bufora na stercie (heap), a następnie jego przepełnieniem (heap overflow) podczas zapisywania danych. Atakujący może w ten sposób nadpisać struktury pamięci i przejąć kontrolę nad wykonaniem programu.

Skutki

Skuteczne wykorzystanie podatności umożliwia atakującemu zdalne wykonanie dowolnego kodu (RCE) na serwerze z uprawnieniami procesu HHVM, a także naruszenie poufności i integralności danych oraz dostępności systemu.

Mitygacja

Należy zaktualizować HHVM do wersji 4.56.3 lub nowszej (w gałęzi 4.56.x), albo do pierwszej wersji poza wymienionymi zakresami podatnych wydań. Szczegółowe informacje dostępne są w oficjalnym biuletynie bezpieczeństwa pod adresem https://hhvm.com/blog/2021/02/25/security-update.html oraz w powiązanym commicie na GitHub.

Kogo dotyczy

Facebook HHVM w wersjach wcześniejszych niż 4.56.3, wszystkich wersjach od 4.57.0 do 4.80.1 włącznie, wszystkich wersjach od 4.81.0 do 4.93.1 włącznie, oraz wersjach 4.94.0, 4.95.0, 4.96.0, 4.97.0 i 4.98.0

Uwagi

Poprawka została opublikowana 25 lutego 2021 r. zgodnie z wpisem na blogu HHVM (data poprzedzająca datę publikacji CVE). Commit naprawczy dostępny publicznie na GitHub: 08193b7f0cd3910256e00d599f0f3eb2519c44ca.

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.94.04.95.04.96.04.97.04.98.04.81.0 – 4.93.14.57.0 – 4.80.1< 4.56.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-1900CRITICAL9.8PL ✓ten sam produkt

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

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

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

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

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