Опасная уязвимость удаленного выполнения кода в PHP для Windows затрагивает все релизы, начиная с версии 5.x

Аналитики Devcore обнаружили опасную уязвимость удаленного выполнения кода (RCE) в PHP для Windows, представляющую угрозу для огромного количества серверов по всему миру. Об этом пишет издание Хакер.ru

Уязвимость получила идентификатор CVE-2024-4577 и была замечена 7 мая 2024 года, после чего аналитики немедленно проинформировали о баге разработчиков PHP.

Вчера вышел официальный патч, устраняющий уязвимость. Однако  применение патчей в проекте такого масштаба будет сложной задачей, и многие системы могут оставаться уязвимыми для атак в течение длительного времени. К тому же, когда речь заходит о критических уязвимостях, затрагивающих большое количество устройств, злоумышленники обычно не теряют времени даром и немедленно начинают поиск уязвимых систем. К сожалению, CVE-2024-4577 не стала исключением, так как специалисты The Shadowserver Foundation уже обнаружили несколько IP-адресов, сканирующих сеть в поисках уязвимых серверов.

Ошибка CVE-2024-4577 возникает при обработке преобразований кодировок символов, в частности, в функции Best-Fit в Windows, если PHP используется в режиме CGI.

«При имплементации PHP разработчики не обратили внимания на функцию Best-Fit для преобразования кодировок в Windows, — поясняется в сообщении DevCore. — Баг позволяет неаутентифицированным злоумышленникам обойти предыдущую защиту от [старой проблемы] CVE-2012-1823 с помощью определенных последовательностей символов. Произвольный код может быть выполнен на удаленных PHP-серверах с помощью инъекции аргументов».

Специалисты предупреждают, что даже если PHP не работает в режиме CGI, CVE-2024-4577 все равно можно эксплуатировать, если исполняемые файлы PHP (например, php.exe или php-cgi.exe) находятся в каталогах, доступных веб-серверу.

Поскольку такая конфигурация используется по умолчанию в XAMPP для Windows, исследователи пишут, что все установки XAMPP в Windows, скорее всего, уязвимы.

Более того, уязвимость усугубляется при использовании некоторых локализаций, которые более восприимчивы к этому багу, включая традиционный китайский, упрощенный китайский и японский.

По словам экспертов Devcore, уязвимость затрагивает все версии PHP для Windows, поэтому в случае использования PHP 8.0 (поддержка прекращена), PHP 7.x (поддержка прекращена) или PHP 5.x (поддержка прекращена), необходимо либо срочно обновиться до более свежей версии, либо воспользоваться защитными мерами.

Так, пользователям поддерживаемых версий PHP следует обновиться до версий, содержащих патчи: PHP 8.3.8, PHP 8.2.20 и PHP 8.1.29.

Для систем, которые не получится обновить прямо сейчас, а также пользователям старых версий рекомендуется применить правило mod_rewrite для блокирования атак:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^%ad [NC]

RewriteRule .? – [F,L]

При использовании XAMPP и отсутствии необходимости в PHP CGI следует найти в конфигурационном файле Apache директиву ScriptAlias (обычно в C:/xampp/apache/conf/extra/httpd-xampp.conf) и закомментировать ее.

Кроме того, исследователи предлагают администраторам рассмотреть возможность перехода с CGI на более безопасные альтернативы, например, FastCGI, PHP-FPM и Mod-PHP.

С заботой о вашей безопасности, команда Origin Security

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *