Podatność typu type confusion w funkcji merge_param() rozszerzenia pecl-http dla PHP pozwala atakującemu na zdalne wykonanie kodu lub crash procesu PHP. Zagrożenie jest krytyczne, ponieważ nie wymaga uwierzytelnienia ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
A type confusion vulnerability in the merge_param() function of php_http_params.c in PHP's pecl-http extension 3.1.0beta2 (PHP 7) and earlier as well as 2.6.0beta2 (PHP 5) and earlier allows attackers to crash PHP and possibly execute arbitrary code via crafted HTTP requests.
Błąd znajduje się w funkcji merge_param() w pliku php_http_params.c rozszerzenia pecl-http. Atakujący wysyła spreparowane żądanie HTTP zawierające dane, które powodują nieprawidłową konwersję typów (type confusion) podczas przetwarzania parametrów. Niepoprawne założenie co do typu przetwarzanego obiektu może prowadzić do uszkodzenia pamięci, awaryjnego zakończenia procesu PHP lub wykonania dowolnego kodu.
Atakujący może doprowadzić do awarii (crash) serwera PHP lub potencjalnie wykonać dowolny kod na serwerze (RCE), co może skutkować pełnym przejęciem kontroli nad systemem.
Należy zaktualizować rozszerzenie pecl-http do wersji zawierającej poprawkę dostępną w repozytorium projektu (commit 17137d4ab1ce81a2cee0fae842340a344ef3da83). Użytkownicy dystrybucji Debian powinni zastosować aktualizację opublikowaną w debian-lts-announce z września 2019 r. W ogólności należy zastosować patche dostępne u producenta zgodnie z referencjami.
PHP pecl-http (ext-http) w wersji 3.1.0beta2 i wcześniejszych (PHP 7) oraz w wersji 2.6.0beta2 i wcześniejszych (PHP 5)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HPHP Ext Http
APPPhp2.6.03.1.0≤ 2.5.63.0.0 – 3.0.1
Powiązane podatności
PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit
RCE w PHP-CGI poprzez wstrzyknięcie opcji wiersza poleceń
Use-after-free w rozszerzeniu SOAP PHP umożliwiające RCE
PHP use-after-free przez __set lub ??= z wyjątkami — RCE
PHP PDO SQLite — błędne cytowanie ciągów prowadzące do SQL injection