PHP закрыл две RCE без логина: CVE-номера утекли за два дня до релиза
Запрос, который упирается в memory_limit в неудачный момент, может испортить память. Фатальная ошибка может оставить use-after-free, который подхватит следующий запрос на том же воркере. Оба случая ведут к удалённому выполнению кода.
Версии PHP 8.5.12, 8.4.27, 8.3.36 и 8.2.35 вышли 21 октября, на день раньше плана, из-за утечки CVE-номеров. Обе уязвимости получили CVSS 9.2, входа для эксплуатации не нужно, а видео с PoC по ошибке выложили в открытый доступ.
В треде администратор, который спешно обновлял несколько серверов, написал, что трёхстрочное правило nginx, блокирующее multipart-загрузки, тихо защищало машину, которую он не мог выключить.
Две ошибки, один балл и утёкший 10.0

Объявление PHP Foundation описывает две критические уязвимости, которые позволяют неаутентифицированному злоумышленнику выполнить код на сервере. CVE-2026-109618 — повреждение памяти, когда запрос упирается в memory_limit в неудачный момент. CVE-2026-109619 — устаревшее глобальное состояние: фатальная ошибка может оставить use-after-free, который задевает следующий запрос на том же воркере. Обе получили CVSS 9.2; утёкшая оценка 10.0 оказалась ошибочной.
С раскрытием всё пошло плохо. CVE-номера утекли за два дня до срока, из-за чего релиз сдвинули с 22 октября на 21-е, на 14:00 UTC. Видео с PoC от Calif опубликовали по ошибке, а Chainguard выложил исправленные образы больше чем за шесть часов до координированного релиза.
Что фонд обещает изменить
В мае 2026 года фонд создал команду по безопасности экосистемы и добавил в неё Фолькера Душа (AI Security Engineer in Residence), в июле — Александра Добуа, в сентябре — Даниэля Шерцера. Решения по безопасности перейдут к голосованию большинством, а руководство сможет подталкивать застрявшие исправления. С 1 июля команда опубликовала 15 CVE и разобрала больше 100 некорректных, повторных или невоспроизводимых отчётов. Фонд просит о спонсорстве компании, хостинг-провайдеров, дистрибутивы и правительства.
Тред: день патчей
«Трёхстрочный обходной путь nginx (блокировка multipart-загрузок), который я написал глубокой ночью по GMT, тихо защищал уязвимую машину, которую я не мог выключить» — администратор, весь день патчивший несколько серверов
День поднял и другой вопрос: как не пропустить следующий CVE? Один ответ был безрадостным.
«Не думаю, что существует надёжный способ.» — разработчик, который следит за HN, security-рассылками и сканерами кода
А тем, кто уже ушёл:
«Это только я или по-настоящему смелы те, кто решается выкатывать и защищать PHP-инстансы?» — разработчик, который в прошлом году ушёл с PHP и WordPress
Фонд показал полное RCE на Apache с mod_php, а первую ошибку на PHP-FPM подтвердил через пути в коде приложений. Прежде чем решать, как быстро патчить, проверьте, какой SAPI вы используете и какой код приложения до него доходит; блокировка multipart-загрузок выше — временная мера, а не исправление.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
DuckDB 2.0 получил серверный режим и асинхронный I/O, но файлы 2.0 старые версии не откроют
DuckDB 2.0.0 LTS, «Cinnamon Teal», — самый большой релиз проекта: около 20 000 коммитов с версии 1.5. Файл базы, который он записывает, не откроется ни в одной из предыдущих версий.