20 октября команда PHP сделала то, что делает нечасто: заранее предупредила, что на следующий день в 14:00 по UTC выйдет срочный релиз. Две уязвимости, обе на 9,2 из 10 по шкале CVSS 4.0, а подробности, затронутые и исправленные версии — только вместе с патчами. То есть сутки весь интернет знал, что где-то открыта дверь, но не знал, какая. Отличный вечер для всех, кто отвечает за серверы.
Патч приехал даже раньше обещанного
Технические бюллетени на GitHub появились 21 октября в 13:34 по UTC, почти на полчаса раньше объявленного. Исправленные версии — PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35, так пишет сама команда PHP. Получается, всё, что ниже этих номеров в своей ветке, уязвимо. Ветки 8.1 и старше проект больше не обновляет, но из-за тяжести случая выложил для 7.4, 8.0 и 8.1 минимальные исправления в исходниках. Дистрибутивы Linux и поставщики долгосрочной поддержки получили патчи заранее, так что пакеты, скорее всего, уже лежат у вашего поставщика.
Заодно мелкая, но полезная деталь: ветка 8.2 получает исправления безопасности до 31 декабря 2026 года, дальше — всё. Если обновляетесь сейчас, есть смысл сразу смотреть на версию посвежее.
Атака, которой не нужен ни пароль, ни ваш код
Обе дыры дают удалённое выполнение кода без авторизации. Первая, CVE-2026-109618, — про нехватку памяти: если PHP падает по памяти в момент, когда данные запроса собраны наполовину, уборка после запроса принимает этот полуфабрикат за нормальные данные. Вторая, CVE-2026-109619, — про хвосты: внутреннее состояние одного запроса переживает освобождение своей памяти, и следующий запрос в том же процессе на него натыкается. Это как гостиничный номер, где после выезда гостя забыли сменить код на двери.
Под ударом все установки, которые обслуживают веб-запросы: PHP-FPM, Apache с mod_php, php-cgi, FrankenPHP и LiteSpeed. Хуже всего с mod_php — там показан рабочий эксплойт, где атака срабатывает до того, как запустится хоть строчка кода самого приложения. То есть неважно, насколько аккуратно написан ваш сайт: до него просто не доходит очередь.
Вопрос на одну строку тому, кто держит ваши серверы
Если у вас есть сайты или сервисы на PHP, которые смотрят в интернет, — а это WordPress, интернет-магазины, личные кабинеты, внутренние порталы, — напишите тому, кто за них отвечает, сегодня. Вопрос простой: какая версия PHP стоит и когда она будет обновлена. Ответ «на следующей неделе» тут не подходит.
Полной защиты настройками нет, обновление — единственный безопасный путь. Если поставить патч прямо сейчас нельзя, в бюллетене есть временные меры: выставить memory_limit=-1 на уровне сервера, урезать post_max_size, отключить session.upload_progress.enabled и перезапустить все процессы, на 8.5 — ещё fatal_error_backtraces=0. Но это пластырь, а не лечение: авторы честно пишут, что он закрывает отдельные пути атаки, а не дыру целиком.
И отдельно для тех, кто ставит PHP из популярного репозитория remirepo: сегодня обновлений там не будет, команда PHP советует перейти на пакеты дистрибутива или собрать из исходников.
Когда-то PHP расшифровывался как Personal Home Page — домашняя страничка. Теперь на нём держится огромный кусок интернета, и сегодня как раз тот день, когда «домашняя» должна оставаться только вашей. Мне кажется, самое опасное здесь не сами дыры, а фраза «у нас вроде всё обновляется само». Проверьте. Лучше до вечера.
