CVE-2020-15415
DrayTek Multiple Vigor Routers
2024-09-30
DrayTek Vigor3900, Vigor2960, and Vigor300B devices contain an OS command injection vulnerability in cgi-bin/mainfunction.cgi/cvmcfgupload that allows for remote code execution via shell metacharacters in a filename when the text/x-python-script content type is used.
Технический анализ и план устранения
Суть уязвимости
Уязвимость CVE-2020-15415 представляет собой критическую брешь типа OS Command Injection (инъекция команд ОС) в веб-интерфейсе управления маршрутизаторов DrayTek. Проблема локализована в компоненте cgi-bin/mainfunction.cgi/cvmcfgupload.
Злоумышленник может выполнить произвольный код на уровне операционной системы устройства, отправив специально сформированный HTTP POST запрос. Уязвимость активируется при использовании Content-Type text/x-python-script. Из-за отсутствия надлежащей фильтрации метасимволов оболочки (shell metacharacters) в имени загружаемого файла, команды, внедренные в имя файла, исполняются интерпретатором командной строки устройства с высокими привилегиями.
Как исправить
Единственным надежным способом полного устранения уязвимости является обновление микропрограммы (firmware) до версии, в которой данная ошибка была исправлена производителем.
- Скачайте актуальную версию прошивки с официального сайта DrayTek или из раздела загрузок для вашего региона.
- Установите обновление через веб-интерфейс (System Maintenance >> Firmware Upgrade).
Исправленные версии прошивок: * Для Vigor2960: версия 1.5.1.1 или выше. * Для Vigor3900: версия 1.5.1.1 или выше. * Для Vigor300B: версия 1.5.1.1 или выше.
Временные меры
Если немедленное обновление прошивки невозможно, необходимо минимизировать поверхность атаки и ограничить доступ к административному интерфейсу устройства.
- Отключите возможность удаленного управления (Remote Management) из внешней сети (WAN). Если удаленный доступ необходим, разрешите его только с доверенных IP-адресов.
- Измените стандартные порты HTTP (80) и HTTPS (443) для управления устройством на нестандартные.
- Настройте Access Control List (ACL) для ограничения доступа к веб-интерфейсу.
- Используйте VPN для администрирования устройства вместо прямой публикации веб-панели в интернет.
Команда для проверки текущей версии прошивки через CLI (если доступен SSH):
status