PHP-s avast (CVE-2024-4577) võimaldab serveris oma koodi käivitada või PHP skripti lähtekoodi vaadata, juhul kui PHP-d kasutatakse CGI režiimis Windowsi platvormil (mod_php, php-fpm ja FastCGI konfiguratsioonid ei ole haavatavad). Probleem on lahendatud PHP versioonides 8.3.8, 8.2.20 ja 8.1.29.
Avastus on eriline juhtum parandatud probleemist CVE-2012-1823, mille jaoks osutunud kaitse Windowsi platvormil rünnaku blokeerimiseks ebapiisavaks. Rünnaku meetod seisneb võimaluses lisada käsurea argument PHP tõlgendaja käivitamisel PHP skripti päringuparametrite manipuleerimise kaudu.
В старой уязвимости CVE-2012-1823 для эксплуатации достаточно было указать опции командной строки вместо параметров запроса, например, «http://localhost/index.php?-s» для показа исходного кода скрипта. Новая уязвимость основывается на том, что платформа Windows обеспечивает автоматическое преобразование символов, что позволяет для обхода ранее добавленной защиты указывать символы, присутствующие в некоторых кодировках и заменяемые на символ «-» (например, http://localhost/index.php?%ads).
Haavatavus on kinnitatud traditsioonilise hiina (cp950), lihtsustatud hiina (cp936) ja jaapani (cp932) keelte lokaliseerimiste konfiguratsioonides, kuid ei välistata selle esinemist ka teiste lokaliseerimistega. Probleem avaldub vaikimisi XAMPP komplekteerimisel (Apache + MariaDB + PHP + Perl), samuti kõikides Apache konfiguratsioonides, kus php-cgi on seatud CGI skriptide töötlejaks seadistusega
‘Action cgi-script «/cgi-bin/php-cgi.exe»‘ või ‘Action application/x-httpd-php-cgi «/php-cgi/php-cgi.exe»‘, või PHP tõlgendus otse «/cgi-bin»-is ja muudes kataloogides, kus CGI skriptide käitamine on lubatud läbi ScriptAlias direktiivi.
Lisaks on PHP versioonides 8.3.8, 8.2.20 ja 8.1.29 parandatud veel kolm haavatavust:
- CVE-2024-5458 — filtreerimise ümbersõidu võimalus
FILTER_VALIDATE_URL, mida kasutatakse funktsiooni filter_var kutsumisel. - CVE-2024-5585 — alternatiivne rünnakutee haavatavusele CVE-2024-1874, mis võimaldab varem lisatud kaitse mööda minna ning käskude sisestamine bat- ja cmd-failide kutsumisel Windowsi platvormil (haavatavus BatBadBut).
- openssl_private_decrypt funktsiooni haavatavus rünnakute vastu Marvin.
Allikas: opennet.ru
