CVE-2018-14933
NUUO NVRmini Devices
2024-12-18
NUUO NVRmini devices contain an OS command injection vulnerability. This vulnerability allows remote command execution via shell metacharacters in the uploaddir parameter for a writeuploaddir command.
Технический анализ и план устранения
Суть уязвимости
Уязвимость CVE-2018-14933 представляет собой классическую инъекцию команд ОС (OS Command Injection) в веб-интерфейсе устройств NUUO NVRmini 2. Проблема локализована в обработке параметра uploaddir при выполнении команды writeuploaddir через скрипт upgrade_handle.php.
Из-за отсутствия надлежащей фильтрации входных данных, злоумышленник может внедрить метасимволы оболочки (например, ;, &, |) в HTTP-запрос. Поскольку веб-сервер выполняет системные вызовы с высокими привилегиями, это позволяет удаленному неавторизованному пользователю выполнять произвольный код на уровне операционной системы устройства.
Как исправить
Основным и единственным надежным способом устранения уязвимости является обновление прошивки устройства до версии, в которой вендор внедрил механизмы санитизации входных параметров.
- Перейдите на официальный сайт поддержки NUUO.
- Скачайте актуальную версию прошивки (рекомендуется версия 3.9.1 или выше).
- Установите обновление через панель управления:
Зайдите в Web GUI -> System Administration -> Firmware Upgrade
- После обновления убедитесь, что доступ к файлу
upgrade_handle.phpограничен или параметры фильтруются корректно.
Временные меры
Если немедленное обновление прошивки невозможно, необходимо минимизировать риски с помощью сетевых ограничений и средств защиты:
-
Изоляция устройства: Разместите NVR в отдельном VLAN и запретите доступ к его веб-интерфейсу из внешних сетей (Internet).
-
Настройка ACL на межсетевом экране: Разрешите доступ к портам управления (обычно TCP 80, 443) только с доверенных IP-адресов администраторов.
-
Использование WAF (Web Application Firewall): Настройте правило фильтрации для блокировки запросов к
upgrade_handle.php, содержащих подозрительные символы в параметреuploaddir. Пример регулярного выражения для поиска инъекции:
(\||&|;|`|\$)
- Отключение неиспользуемых служб: Если функционал обновления через веб-интерфейс не используется ежедневно, заблокируйте доступ к соответствующим PHP-скриптам на уровне конфигурации веб-сервера (если имеется доступ к shell).