CVE-2021-36380
Sunhillo SureLine
2024-03-05
Sunhillo SureLine contains an OS command injection vulnerability that allows an attacker to cause a denial-of-service or utilize the device for persistence on the network via shell metacharacters in ipAddr or dnsAddr in /cgi/networkDiag.cgi.
Технический анализ и план устранения
Суть уязвимости
CVE-2021-36380 представляет собой критическую уязвимость типа OS Command Injection (внедрение команд ОС) в программном обеспечении Sunhillo SureLine (версии до 8.7.0.1.1). Проблема локализована в скрипте /cgi/networkDiag.cgi.
Уязвимость возникает из-за недостаточной фильтрации входных данных в параметрах ipAddr и dnsAddr. Злоумышленник может внедрить метасимволы оболочки (shell metacharacters), такие как ;, &, | или $(), в HTTP-запрос. Это позволяет выполнять произвольные системные команды с привилегиями веб-сервера, что ведет к полной компрометации устройства, установке устойчивого присутствия в сети (persistence) или реализации сценариев отказа в обслуживании (DoS).
Как исправить
Единственным надежным способом устранения уязвимости является обновление микропрограммного обеспечения (firmware) до версии, в которой данная ошибка исправлена.
- Перейдите на официальный портал поддержки Sunhillo.
- Скачайте актуальную версию ПО SureLine (версия 8.7.0.1.1 или выше).
- Установите обновление через веб-интерфейс управления устройством в разделе System Maintenance / Software Upgrade.
- После обновления проверьте текущую версию в системе:
cat /etc/version
Временные меры
Если немедленное обновление невозможно, необходимо применить компенсирующие меры контроля для снижения риска эксплуатации:
- Ограничьте доступ к веб-интерфейсу управления SureLine, разрешив подключения только с доверенных IP-адресов администраторов с помощью ACL на сетевом оборудовании.
- Настройте правила на Web Application Firewall (WAF) для блокировки запросов к
/cgi/networkDiag.cgi, содержащих подозрительные символы в параметрахipAddrиdnsAddr. Пример регулярного выражения для поиска метасимволов:
[;&|`$><]
- Отключите неиспользуемые службы и заблокируйте доступ к устройству из публичных сетей (Интернет).
- Настройте мониторинг системных логов на предмет вызова подозрительных процессов из-под веб-сервера:
tail -f /var/log/messages