В PHP нашли опасную уязвимость, через которую легко заражать вирусами ПК на Windows
Читать в полной версииXAMPP и другие веб-серверы на PHP оказались под прицелом хакеров. На днях специалисты по кибербезопасности сообщили о серьёзной уязвимости в популярном языке программирования PHP, которая позволяет злоумышленникам удаленно выполнять вредоносный код на устройствах с Windows. Уязвимость получила идентификатор CVE-2024-4577.
По словам экспертов, эксплуатировать эту уязвимость очень просто благодаря встроенной в Windows функции Best Fit, которая неверно преобразует некоторые Unicode-символы в PHP. Злоумышленники могут использовать метод внедрения аргументов, чтобы заставить PHP-интерпретатор выполнять произвольные команды, сообщает Ars Technica.
Уязвимость затрагивает версии PHP, работающие в режиме CGI, когда веб-сервер передает HTTP-запросы интерпретатору PHP для обработки. Однако даже если режим CGI не используется, атаковать можно установки PHP с доступными извне исполняемыми файлами интерпретатора. Такая конфигурация включена по умолчанию в популярном пакете XAMPP для Windows.
Исследователи продемонстрировали факт того, как злоумышленник может преобразовать безобидный HTTP-запрос в команду для запуска PHP-интерпретатора с дополнительными аргументами, которые разрешают удалённое выполнение PHP-кода из тела запроса. Внедрение аргумента «-d allow_url_include=1 -d auto_prepend_file=php://input» примет следующие входные данные:
А в подтверждение того, что цель RCE была достигнута должна появиться страница phpinfo.php. Таким образом обходится защита от похожей уязвимости 2012 года (CVE-2012-1823).
После публикации деталей уязвимости организация Shadowserver начала сканирование интернета и обнаружила тысячи уязвимых серверов. Учитывая простоту атаки, потенциальную опасность и широкое распространение PHP, эксперты рекомендуют администраторам срочно установить патч, чтобы избежать возможных атак.
Уязвимость была найдена Оранжем Цаем (Orange Tsai) из компании Devcore в рамках аудита безопасности PHP. По его словам, несмотря на тривиальность, эта ошибка представляет большой интерес для исследования. Разработчики PHP выпустили исправление в тот же день после сообщения, в четверг, 6 июня.