CVE-2021-20123
DrayTek VigorConnect
2024-09-03
Draytek VigorConnect contains a path traversal vulnerability in the DownloadFileServlet endpoint. An unauthenticated attacker could leverage this vulnerability to download arbitrary files from the underlying operating system with root privileges.
Технический анализ и план устранения
Суть уязвимости
CVE-2021-20123 представляет собой критическую уязвимость типа Path Traversal (обход пути) в сервлете DownloadFileServlet программного обеспечения DrayTek VigorConnect до версии 1.6.0.
Проблема заключается в недостаточной фильтрации входных данных в параметрах запроса, передаваемых сервлету. Неавторизованный злоумышленник может отправить специально сформированный HTTP-запрос, содержащий последовательности обхода директорий (например, ../../), что позволяет выйти за пределы корневого каталога веб-приложения. Поскольку сервис VigorConnect зачастую запускается с высокими привилегиями, это позволяет удаленно прочитать любой файл из файловой системы сервера (включая /etc/shadow, конфигурационные файлы с паролями БД и ключи SSH) без аутентификации.
Как исправить
Единственным надежным способом устранения уязвимости является обновление программного обеспечения до версии, в которой реализована корректная валидация путей.
- Скачайте актуальную версию VigorConnect (минимум 1.6.0 или выше) с официального сайта DrayTek или портала поддержки.
- Выполните резервное копирование базы данных и конфигурации перед обновлением.
- Установите обновление, следуя стандартной процедуре для вашей ОС (Windows или Linux).
Для Linux-систем (пример обновления через скрипт производителя):
chmod +x VigorConnect_linux_setup.sh
./VigorConnect_linux_setup.sh
Временные меры
Если немедленное обновление невозможно, необходимо ограничить вектор атаки с помощью сетевых средств защиты и настроек окружения:
- Ограничьте доступ к веб-интерфейсу VigorConnect (порты 2170, 8080 или кастомные) только доверенными IP-адресами администраторов с помощью Firewall.
iptables -A INPUT -p tcp --dport 2170 -s <TRUSTED_IP> -j ACCEPT
iptables -A INPUT -p tcp --dport 2170 -j DROP
- Настройте Reverse Proxy (например, Nginx) перед VigorConnect для фильтрации опасных символов в URL. Добавьте правило, блокирующее запросы с последовательностями точек.
if ($request_uri ~ "\.\./") {
return 403;
}
-
Снизьте привилегии учетной записи, от которой запущен сервис VigorConnect. Запуск от имени
rootилиSystemзначительно увеличивает ущерб от эксплуатации данной уязвимости. -
Используйте системы обнаружения вторжений (IDS/IPS) для мониторинга сигнатур Path Traversal в HTTP-трафике.