Разработчики PHP анонсировали публикацию сегодня в 17:00 (MSK) экстренных корректирующих выпусков (8.5.12, 8.4.27, 8.3.36 и 8.2.35), в которых будут устранены две критические уязвимости. Всем администраторам серверов с PHP рекомендовано незамедлительно установить исправления на своих системах, сразу после их выпуска. Официально детали будут раскрыты только после появления исправлений, но судя по появившейся в открытом доступе информации, речь про уязвимости CVE-2026-109618 и CVE-2026-109619, потенциально позволяющие удалённо выполнить свой код на любом web-сервере, выполняющем PHP-скрипты в конфигурации по умолчанию. Проблемы проявляются во всех версиях, начиная с PHP 5.4. В сети уже появились прототипы эксплоитов (1, 2) для проверки подверженности систем уязвимости. В примечании к эксплоиту утверждается, что уязвимости вызваны обращением к уже освобождённой памяти в обработчике отслеживания прогресса загрузки файлов на сервер (session.upload_progress). Наличия на сайте функциональности для загрузки файлов для совершения атаки не требуется, достаточно автоматического срабатывания в PHP-интерпретаторе обработчика контента "multipart/form-data". Для успешной эксплуатации требуется определение раскладки структур в памяти процесса, которая специфична в каждой сборке (проблема решается перебором в эксплоите смещений, заранее вычисленных для пакетов из разных дистрибутивов). В качестве обходного пути защиты встречаются рекомендации выставить в php.ini параметр "session.upload_progress.enabled = off" (или "php_admin_flag[session.upload_progress.enabled] = off" в PHP-FPM), но представитель проекта PHP, а также автор первого прототипа эксплоита утверждают, что для блокирования обеих уязвимостей этого недостаточно. В примечании ко второму прототипу эксплоита упоминается, что помимо вышеупомянутой настройки в php.ini для предотвращения атаки без применения патча требуется полная блокировка запросов с типом контента "multipart/form-data", которая приведёт к невозможности загрузки файлов через web-формы. В Apache httpd для блокировки multipart-запросов можно использовать следующее правило в mod_rewrite: RewriteCond %{HTTP:Content-Type} multipart [NC] RewriteRule ^ - [F,L] Для блокировки в nginx: if ($http_content_type ~* "multipart") { return 403; } Для блокировки в Caddy: @multipart header_regexp Content-Type (?i)multipart respond @multipart 403
Источник: https://www.opennet.ru/opennews/art.shtml?num=66516
Источник: https://www.opennet.ru/opennews/art.shtml?num=66516