Критическая уязвимость в NGINX: удалённое выполнение кода и DoS
Что случилось
В веб-сервере NGINX выявлена опасная уязвимость CVE-2026-42533, которая при определённых условиях приводит к переполнению кучи (heap buffer overflow). Проблема возникает при использовании директивы map с регулярными выражениями, когда в строковом выражении сначала идёт обращение к переменным захвата регулярки, а потом уже к выходной переменной самой карты. Аналогичный эффект возможен при использовании некэшируемых переменных в строковых выражениях.
Атакующий может отправить специально сформированный HTTP-запрос и вызвать аварийную перезагрузку рабочего процесса NGINX. В худшем случае — при отключённом ASLR или при возможности его обхода — уязвимость позволяет выполнить произвольный код на сервере. Проблема затрагивает только плоскость данных (data plane), управляющий интерфейс (control plane) не подвержен.
Кого касается
Уязвимость актуальна для:
- Владельцев серверов с NGINX Plus и NGINX Open Source
- Систем, где в конфигурации используется директива
mapс регулярными выражениями в нестандартном порядке переменных - Серверов с отключённым ASLR — на них выше риск выполнения кода (DoS возможен в любом случае)
Версии NGINX, достигшие End of Technical Support (EoTS), не получат исправлений.
Что делать
1. Проверьте версию NGINX:
nginx -v
Сверьтесь со списком исправленных версий на официальном сайте NGINX или в репозитории вашей ОС.
2. Обновите пакет через систему управления:
- Для Debian/Ubuntu:
sudo apt update && sudo apt upgrade nginx - Для RHEL/CentOS/AlmaLinux/Rocky Linux:
sudo yum update nginxилиsudo dnf update nginx - Для пользователей NGINX Plus — обновление через официальный репозиторий F5
После обновления проверьте конфигурацию командой sudo nginx -t и перезапустите службу: sudo systemctl restart nginx.
3. Временное решение (если обновление невозможно):
- Проверьте конфигурацию командой
grep -r "map" /etc/nginx/на наличие директив с регулярными выражениями - Если найдены сложные конструкции с
map— временно отключите их или упростите до установки патча - Настройте ограничение частоты запросов (rate limiting) для снижения риска
4. Дополнительные меры:
- Проверьте статус ASLR:
cat /proc/sys/kernel/randomize_va_space. Если вывод не "2", включите (требуется root, действует до перезагрузки):sudo sh -c 'echo 2 > /proc/sys/kernel/randomize_va_space'. Для постоянного включения добавьте в/etc/sysctl.conf:kernel.randomize_va_space = 2 - Настройте мониторинг на перезапуски рабочих процессов NGINX
- Используйте WAF для фильтрации аномальных HTTP-запросов