CVE-2022-29303

SolarView Compact

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2023-07-13

Официальное описание

SolarView Compact contains a command injection vulnerability due to improper validation of input values on the send test mail console of the product's web server.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2022-29303 представляет собой критическую уязвимость типа Command Injection (инъекция команд) в веб-интерфейсе устройства SolarView Compact (версии до 6.00 включительно). Проблема локализована в функционале отправки тестового электронного письма (консоль "send test mail").

Из-за недостаточной фильтрации входных данных в параметрах конфигурации почты, злоумышленник может внедрить произвольные системные команды через HTTP-запрос. Поскольку веб-сервер устройства зачастую работает с высокими привилегиями, это позволяет удаленному неавторизованному пользователю выполнить произвольный код в операционной системе устройства и полностью скомпрометировать систему.

Как исправить

Основным способом устранения уязвимости является обновление микропрограммного обеспечения (firmware) устройства до актуальной версии, где реализована корректная валидация входных параметров.

  1. Перейдите на официальный сайт производителя Contec или свяжитесь с технической поддержкой для получения актуального патча.
  2. Установите версию SolarView Compact 6.01 или выше.
  3. После обновления проверьте версию ПО в панели управления:
cat /etc/contec/version

Временные меры

Если немедленное обновление невозможно, необходимо минимизировать риски с помощью следующих шагов:

  1. Ограничение сетевого доступа: Изолируйте устройство SolarView Compact от публичного интернета. Настройте правила Firewall (ACL), чтобы доступ к веб-интерфейсу был разрешен только с доверенных IP-адресов администраторов.

  2. Использование VPN: Организуйте доступ к управлению устройством исключительно через защищенный VPN-туннель.

  3. Настройка Reverse Proxy: Если доступ извне необходим, используйте Reverse Proxy (например, Nginx с модулем ModSecurity WAF) для фильтрации подозрительных символов в HTTP-запросах (таких как ;, &, |, $()).

Пример блокировки подозрительных запросов в конфигурации Nginx:

if ($request_body ~* "[;&|]") { return 403; }

  1. Мониторинг логов: Регулярно проверяйте логи веб-сервера на наличие необычных POST-запросов к скриптам, отвечающим за отправку почты (например, conf_mail.php).