Разработчики nginx выпустили обновления стабильной ветки 1.30.4 и основной ветки 1.31.3, исправляющие три уязвимости, две из которых оцениваются как высокие и одна как критическая по шкале CVSS. Проблемы затрагивают как открытую версию Nginx Open Source, так и коммерческую Nginx Plus, и могут приводить к удалённому выполнению кода, раскрытию содержимого памяти рабочего процесса или отказу в обслуживании.
Детали уязвимостей
Наиболее серьёзная уязвимость CVE-2026-42533 (CVSS 9.2 по версии 4.0) связана с переполнением буфера в куче при использовании директивы map с регулярными выражениями. Согласно описанию F5, проблема возникает, если переменная, определённая в map, включается в строковое выражение после захвата (capture), на который эта директива влияет. Аналогичная ситуация возможна при использовании некэшируемой переменной. Для эксплуатации злоумышленнику требуется отправить специально сформированный HTTP-запрос, причём успешная атака возможна только при определённых условиях, включая необходимость обхода ASLR (рандомизации адресного пространства) или его отключения в системе. В случае успеха потенциальная атака может привести к выполнению произвольного кода в контексте рабочего процесса nginx или к его аварийной перезагрузке.
Вторая уязвимость CVE-2026-60005 (CVSS 8.8) затрагивает модуль ngx_http_slice_module, который не включается по умолчанию и активируется флагом --with-http_slice_module. Проблема заключается в обращении к неинициализированной памяти при использовании безымянных захватов в регулярных выражениях в сочетании с директивой slice, а также при фоновом обновлении кеша. На практике атакующий, не прошедший аутентификацию, может добиться раскрытия небольшого фрагмента памяти рабочего процесса или вызвать его аварийное завершение. Поскольку для эксплуатации не требуется сложных предусловий - только отправка запроса на уязвимый сервер - уязвимость считается особенно опасной для систем, использующих данный модуль.
Третья проблема CVE-2026-56434 получила оценку 8.3 и связана с использованием после освобождения (use-after-free) в модуле ngx_http_ssi_filter_module, реализующем серверные включения (SSI). Условием эксплуатации является одновременное использование директив ssі, proxy_pass и proxy_buffering off. В такой конфигурации злоумышленник, способный перехватывать и модифицировать ответы вышестоящего сервера (например, при атаке "человек посередине"), может спровоцировать обращение к уже освобождённой области памяти. Это позволяет ограниченно изменять содержимое памяти рабочего процесса или вызывать его аварийное завершение.
Все три уязвимости были обнаружены внешними исследователями: проблему с map сообщили Mufeed VH из Winfunc Research и Maxim Dounin, use-after-free в SSI - исследователь под псевдонимом P4P3R-HAK. В официальных бюллетенях F5 подчёркивается, что речь идёт исключительно о проблемах уровня данных (data plane) - плоскость управления (control plane) не затронута.
Обновления затронули все поддерживаемые ветки nginx. Для nginx Open Source уязвимы версии с 0.9.6 по 1.30.3 (для CVE-2026-42533), с 1.15.8 по 1.30.3 (для CVE-2026-60005) и с 0.8.11 по 1.30.3 (для CVE-2026-56434). В основной ветке уязвимы версии 1.31.2 и ранее. Для nginx Plus под удар попадают версии R33 и более новые, вплоть до R36 P6 и 37.0.0.1-37.0.3.0.
Администраторам настоятельно рекомендуется обновить nginx до версий 1.30.4 (стабильная ветка) или 1.31.3 (основная ветка). Для тех, кто не может выполнить обновление немедленно, в качестве временной меры рекомендуется отключить модули, не используемые в конфигурации, а также, в случае CVE-2026-42533, избегать использования директивы map с регулярными выражениями в сочетании с захватами переменных в строковых выражениях. Для CVE-2026-56434 следует временно отключить использование SSI с проксированием, если это возможно, или включить буферизацию ответов. Однако F5 предупреждает, что подобные обходные меры не устраняют уязвимость полностью.
Ситуация вновь напоминает о важности регулярного обновления веб-серверов, особенно учитывая, что все три уязвимости позволяют нарушить работу рабочего процесса и, в худшем случае, получить контроль над системой. Для nginx, занимающего значительную долю рынка веб-серверов, своевременное применение патчей остаётся критическим элементом защиты инфраструктуры.
Ссылки
- https://nginx.org/en/CHANGES-1.30
- https://nginx.org/en/CHANGES
- https://www.cve.org/CVERecord?id=CVE-2026-42533
- https://www.cve.org/CVERecord?id=CVE-2026-60005
- https://www.cve.org/CVERecord?id=CVE-2026-56434