Podatność w bibliotece Facebook Folly oraz środowisku uruchomieniowym HHVM pozwala atakującemu na wywołanie przepełnienia liczby całkowitej (integer overflow) podczas tworzenia obiektu IOBuf, co prowadzi do zapisu poza granicami bufora na stercie (heap) i możliwości zdalnego wykonania kodu (RCE). Ze względu na brak wymagań dotyczących uwierzytelnienia i interakcji użytkownika podatność stanowi krytyczne zagrożenie dla systemów narażonych na sieć.
▸ Pokaż oryginał (EN)
Passing an attacker controlled size when creating an IOBuf could cause integer overflow, leading to an out of bounds write on the heap with the possibility of remote code execution. This issue affects versions of folly prior to v2021.07.22.00. This issue affects HHVM versions prior to 4.80.5, all versions between 4.81.0 and 4.102.1, all versions between 4.103.0 and 4.113.0, and versions 4.114.0, 4.115.0, 4.116.0, 4.117.0, 4.118.0 and 4.118.1.
Atakujący przekazuje kontrolowaną przez siebie wartość rozmiaru (size) podczas tworzenia obiektu IOBuf w bibliotece Folly. Wartość ta powoduje integer overflow (CWE-190), w wyniku czego alokowany jest bufor o zbyt małym rozmiarze. Następnie dane są zapisywane poza granicami tego bufora na stercie (heap buffer overflow, CWE-122), co może prowadzić do uszkodzenia pamięci i w konsekwencji do zdalnego wykonania kodu (RCE).
Pomyślne wykorzystanie podatności umożliwia atakującemu zdalne wykonanie dowolnego kodu (RCE) na podatnym systemie bez konieczności uwierzytelnienia, co może skutkować pełnym przejęciem kontroli nad serwerem.
Należy zaktualizować bibliotekę Folly do wersji v2021.07.22.00 lub nowszej (commit 4f304af1411e68851bdd00ef6140e9de4616f7d3 na GitHub). W przypadku HHVM należy zainstalować wersję 4.80.5 lub nowszą — szczegółowe informacje dostępne są w poradniku bezpieczeństwa pod adresem https://hhvm.com/blog/2021/07/20/security-update.html
Facebook Folly w wersjach wcześniejszych niż v2021.07.22.00; HHVM w wersjach wcześniejszych niż 4.80.5, we wszystkich wersjach między 4.81.0 a 4.102.1, we wszystkich wersjach między 4.103.0 a 4.113.0 oraz w wersjach 4.114.0, 4.115.0, 4.116.0, 4.117.0, 4.118.0 i 4.118.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HFacebook Folly
APPFacebook< 2021.07.22.00Facebook Hhvm
APPFacebook4.114.04.115.04.116.04.117.04.118.04.118.14.81.0 – 4.102.1< 4.80.54.103.0 – 4.113.0
Powiązane podatności
HHVM: użycie przestarzałego protokołu TLS 1.0 zamiast TLS 1.3
Use-after-free w Facebook HHVM podczas deserializacji obiektów z dynamicznymi właściwościami
Integer overflow w preg_quote HHVM prowadzący do heap overflow (RCE)
Integer overflow i out-of-bounds write w funkcji ldap_escape HHVM
Out-of-bounds write w HHVM podczas przetwarzania danych EXIF