Zidentyfikowano lukę w zabezpieczeniach (CVE-2024-4577) w PHP, która umożliwia wykonanie kodu na serwerze lub przeglądanie kodu źródłowego skryptu PHP podczas korzystania z PHP w trybie CGI na platformie Windows (Konfiguracje z mod_php, php-fpm i FastCGI nie są podatne na atak). Problem został rozwiązany w PHP 8.3.8, 8.2.20 i 8.1.29.
Luka ta stanowi szczególny przypadek problemu CVE-2012-1823, który został naprawiony w 2012 r., w przypadku którego dodana ochrona okazała się niewystarczająca, aby zablokować atak na platformę. WindowsMetoda ataku polega na zastąpieniu argumentu wiersza poleceń podczas uruchamiania interpretera PHP poprzez manipulację parametrami żądania w skrypcie PHP.
W przypadku starej luki CVE-2012-1823, wykorzystanie jej wymagało jedynie podania opcji wiersza poleceń zamiast parametrów zapytania, na przykład „http://localhost/index.php?-s”, aby wyświetlić kod źródłowy skryptu. Nowa luka opiera się na platformie Windows Zapewnia automatyczną konwersję znaków, dzięki której możesz ominąć wcześniej dodane zabezpieczenia, określając znaki obecne w niektórych kodowaniach i zastępując je znakiem „-” (na przykład http://localhost/index.php?%ads).
Luka została potwierdzona w konfiguracjach z lokalizacjami dla języka chińskiego tradycyjnego (cp950), chińskiego uproszczonego (cp936) i japońskiego (cp932), ale możliwe jest, że może wystąpić w innych lokalizacjach. Problem pojawia się w domyślnej konfiguracji w pakiecie XAMPP (Apache + MariaDB + PHP + Perl), a także w każdej konfiguracji Apache, w której php-cgi jest ustawione jako obsługa skryptów CGI przy użyciu konfiguracji
„Akcja cgi-script „/cgi-bin/php-cgi.exe”” lub „Akcja aplikacji/x-httpd-php-cgi „/php-cgi/php-cgi.exe”” lub w przypadku bezpośredniego hostowania pliku php interpreter w „/cgi-bin” i wszelkich innych katalogach, w których wykonywanie skryptów CGI jest dozwolone poprzez dyrektywę ScriptAlias.
Ponadto aktualizacje PHP 8.3.8, 8.2.20 i 8.1.29 naprawiły trzy kolejne luki:
- CVE-2024-5458 - Możliwość obejścia filtra
FILTER_VALIDATE_URL, używany podczas wywoływania funkcji filter_var. - CVE-2024-5585 to alternatywny wektor ataku dla luki w zabezpieczeniach CVE-2024-1874, który umożliwia ominięcie wcześniej dodanej ochrony i wykonanie podstawienia poleceń podczas wywoływania plików bat i cmd za pośrednictwem funkcji proc_open na platformie. Windows (Luka w zabezpieczeniach BatBadBut).
- Funkcja openssl_private_decrypt jest podatna na atak Marvina.
Źródło: opennet.ru
