Powered by Smartsupp
Навигация по сайту
Каталог магазина
Маркетплейс цифровых товаров

В PHP нашли две критические уязвимости: сайт можно захватить без логина и пароля

21 октября вышли PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Это экстренный релиз, который закрывает две уязвимости, CVE-2026-109618 и CVE-2026-109619. Через них посторонний человек может запустить свой код на сервере и получить контроль над сайтом, не зная ни логина, ни пароля.

Главная опасность в том, что обе дыры срабатывают до того, как начинает работать код самого сайта. Взломщику не нужны ни уязвимый плагин, ни слабый пароль, ни ошибка разработчика. Достаточно, чтобы на сервере стояла дырявая версия PHP.

Обе уязвимости получили оценку 9,2 из 10 по шкале CVSS. Команда PHP прямо пишет, что надежной защиты, кроме обновления, нет.

Что случилось

Сначала все пошло не по плану. 20 октября пользователь под ником petecooper написал на форуме Hacker News, что 22 октября раскроют две критические дыры в PHP, и назвал их номера. Пост удалили, но информация уже разошлась.

В тот же день команда PHP предупредила администраторов, что на следующий день выйдут экстренные обновления. Исследователи из компании watchTowr заявили, что смогли воспроизвести одну из уязвимостей. В итоге патчи вышли 21 октября, даже немного раньше обещанного времени.

Подробности такие:

  • CVE-2026-109618 связана с тем, как PHP обрабатывает нехватку памяти во время запроса. Из-за этого можно повредить память и выполнить свой код.

  • CVE-2026-109619 возникает из-за остатков данных от предыдущего запроса, которые сохраняются после освобождения памяти. Следующий запрос может их использовать, и это снова открывает путь к запуску кода.

Кого это касается

Уязвимы все версии до 8.2.35, 8.3.36, 8.4.27 и 8.5.12, а по данным исследователей, дыры тянутся еще с PHP 5. Под удар попадают все популярные способы запуска PHP на сервере: PHP-FPM, Apache с mod_php, LiteSpeed и другие.

Масштаб большой: по данным W3Techs, PHP используют около 71% сайтов, у которых известен серверный язык. На нем работают WordPress и большинство CMS, а также трекеры, которые ставят на свой сервер, например Keitaro и Binom.

Посетителям сайтов ничего делать не нужно, проблема на стороне сервера. Защищен он будет только после установки исправленной версии.

Для PHP 8.1 и более старых версий официальных обновлений не будет, их поддержка закончилась. Но из-за серьезности ситуации команда PHP выложила минимальные патчи для 7.4, 8.0 и 8.1. Правда, ставить их придется вручную, собирая PHP из исходников.

Что делать

  1. Обновить PHP до 8.5.12, 8.4.27, 8.3.36 или 8.2.35 и перезапустить PHP-FPM или веб-сервер, иначе старый код продолжит работать.

  2. Проверить, точно ли обновление встало. Если PHP установлен из пакетов Ubuntu или другого дистрибутива, номер версии может не измениться. Например, на пропатченной Ubuntu 24.04 PHP по-прежнему показывает 8.3.6, меняется только номер пакета.

  3. Если обновиться прямо сейчас нельзя, отключите в настройках параметр session.upload_progress.enabled и перезапустите PHP. Это закрывает один из подтвержденных способов атаки, но полностью от уязвимостей не защищает.

  4. Проверить логи начиная с 20 октября на подозрительную активность.

Что это значит для арбитражников

Если трекер, преленды или вайты стоят на вашем сервере, их стоит проверить в первую очередь. Захват сервера с трекером означает доступ к статистике, офферам и настройкам потоков, а еще возможность незаметно подменить ссылки.

Если вы пользуетесь облачной версией трекера или хостингом с автообновлениями, обновлять PHP должен провайдер. Но уточнить у саппорта, поставили ли патч, все равно не лишне.

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