Nginx UI — это веб-интерфейс пользователя для веб-сервера Nginx. До версии 2.3.8 nginx-ui предоставляет конечную точку восстановления резервной копии (POST/api/restore), которая полностью не аутентифицируется в течение первых 10 минут после запуска процесса при любой новой установке. Удаленный злоумышленник, не прошедший проверку подлинности, может загрузить созданный архив резервной копии, который перезапишет файл конфигурации приложения (app.ini) и базу данных SQLite.
Поскольку злоумышленник контролирует восстановленный файл app.ini, он может внедрить произвольную команду ОС в настройку TestConfigCmd. После того, как приложение автоматически перезапускается для применения восстановленной конфигурации, один последующий запрос запускает эту команду от имени пользователя, запускающего nginx-ui — обычно при развертывании Docker он является root. Эта проблема исправлена в версии 2.3.8.
Показать оригинальное описание (EN)
Nginx UI is a web user interface for the Nginx web server. Prior to version 2.3.8, nginx-ui exposes a backup restore endpoint (POST /api/restore) that is completely unauthenticated during the first 10 minutes after process startup on any fresh installation. An unauthenticated remote attacker can upload a crafted backup archive that overwrites the application's configuration file (app.ini) and SQLite database. Because the attacker controls the restored app.ini, they can inject an arbitrary OS command into the TestConfigCmd setting. After the application automatically restarts to apply the restored config, a single follow-up request triggers that command as the user running nginx-ui — typically root in Docker deployments. This issue has been patched in version 2.3.8.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Nginxui Nginx_Ui
cpe:2.3:a:nginxui:nginx_ui:*:*:*:*:*:*:*:*
|
— |
2.3.8
|