Podatność typu out-of-bounds write (heap buffer overflow) w funkcji xbuf_format_converter używanej przez exif_read_data w Facebook HHVM umożliwia zdalne wykonanie kodu. Oceniona jako krytyczna z wynikiem CVSS 9.8.
▸ Pokaż oryginał (EN)
xbuf_format_converter, used as part of exif_read_data, was appending a terminating null character to the generated string, but was not using its standard append char function. As a result, if the buffer was full, it would result in an out-of-bounds write. 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.
Funkcja xbuf_format_converter, wywoływana w trakcie przetwarzania danych EXIF przez exif_read_data, dopisywała kończący znak null do generowanego ciągu znaków bez użycia standardowej funkcji append. W sytuacji, gdy bufor był już zapełniony, zapis znaku null następował poza jego granicami (out-of-bounds write). Prowadzi to do uszkodzenia pamięci sterty (heap buffer overflow, CWE-122, CWE-787), co może być wykorzystane do przejęcia kontroli nad przepływem wykonania programu.
Atakujący może zdalnie wykonać dowolny kod (RCE) na podatnym serwerze bez uwierzytelnienia, co w konsekwencji prowadzi do pełnego przejęcia systemu, naruszenia poufności, integralności i dostępności danych.
Należy zaktualizować HHVM do wersji 4.56.3 lub wyższej (w gałęzi 4.56.x), 4.80.2 lub wyższej (w gałęzi 4.57–4.80), 4.93.2 lub wyższej (w gałęzi 4.81–4.93) albo do wersji wydanej po 4.98.0, zgodnie z informacjami opublikowanymi przez producenta pod adresem https://hhvm.com/blog/2021/02/25/security-update.html.
Facebook HHVM we wszystkich wersjach przed 4.56.3, wszystkich wersjach między 4.57.0 a 4.80.1, wszystkich wersjach między 4.81.0 a 4.93.1 oraz wersjach 4.94.0, 4.95.0, 4.96.0, 4.97.0 i 4.98.0.
Poprawka dostępna w repozytorium GitHub pod adresem https://github.com/facebook/hhvm/commit/08193b7f0cd3910256e00d599f0f3eb2519c44ca. Podatność została opublikowana przez producenta 25 lutego 2021 r. w ramach aktualizacji bezpieczeństwa.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HFacebook Hhvm
APPFacebook4.94.04.95.04.96.04.97.04.98.04.81.0 – 4.93.2 (bez)4.57.0 – 4.80.2 (bez)< 4.56.3
Powiązane podatności
HHVM: użycie przestarzałego protokołu TLS 1.0 zamiast TLS 1.3
RCE poprzez integer overflow w IOBuf w Facebook Folly i HHVM
Use-after-free w Facebook HHVM podczas deserializacji obiektów z dynamicznymi właściwościami
Integer overflow i out-of-bounds write w funkcji ldap_escape HHVM
Integer overflow w preg_quote HHVM prowadzący do heap overflow (RCE)