CVE-2026-107806: критическая RCE в Nginx UI через восстановление резервной копии
В Nginx UI (0xJacky) с версии 2.3.8 до 2.5.0 обнаружена критическая уязвимость, позволяющая аутентифицированному администратору выполнить произвольный код на сервере. Атакующий подменяет конфигурацию app.ini через механизм восстановления из бэкапа, что приводит к выполнению команд в контексте Nginx UI. CVSS 9.4 (CRITICAL) — рекомендуется срочное обновление до 2.5.0.
Подробности
Уязвимость затрагивает Nginx UI версий с 2.3.8 по 2.5.0 включительно (до исправления). Тип — аутентифицированное удалённое выполнение кода (Authenticated Remote Code Execution). Вектор атаки требует активной аутентифицированной сессии администратора. Механика эксплуатации следующая. Злоумышленник, уже имеющий действующую сессию администратора, отправляет на endpoint POST /api/restore специально подготовленные данные: собственный портативный ключ резервной копии и соответствующий ему манифест. Логика восстановления доверяет переданному ключу, расшифровывает подконтрольное атакующему содержимое и перезаписывает рабочий файл app.ini. В результате заменяются в том числе защищённые настройки команд Nginx, например параметр TestConfigCmd. После подмены конфигурации достаточно инициировать запрос POST /api/nginx/test — и восстановленная команда будет выполнена в контексте исполнения самого Nginx UI. Это даёт атакующему возможность выполнять произвольные команды на хосте, что напрямую влияет на конфиденциальность, целостность и доступность системы. Уязвимости присвоен базовый балл CVSS 9.4 — максимально критичный уровень. Важно отметить: эксплуатация возможна только при наличии аутентифицированной административной сессии. Тем не менее, учитывая, что Nginx UI часто разворачивается с доступом в интернет, а административные сессии могут быть скомпрометированы через фишинг, слабые пароли или перехват cookie, риск остаётся крайне высоким.Что делать
Основная и единственная надёжная мера — обновить Nginx UI до версии 2.5.0, в которой уязвимость закрыта. Если немедленное обновление невозможно, рекомендуется применить следующие временные митигации:- Ограничить доступ к веб-интерфейсу Nginx UI по IP-адресам или поместить его за VPN;
- Не предоставлять административный доступ к панели пользователям, которым он не требуется;
- Включить многофакторную аутентификацию, если она поддерживается, и ужесточить политику паролей;
- Настроить мониторинг обращений к эндпоинтам /api/restore и /api/nginx/test — аномальная активность может указывать на попытку эксплуатации;
- Проверить целостность текущего файла app.ini и убедиться, что значения команд Nginx (в частности TestConfigCmd) не были изменены.
Источник: CVE Project (cvelistV5)
