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) без аутентификации.

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

Единственным надежным способом устранения уязвимости является обновление программного обеспечения до версии, в которой реализована корректная валидация путей.

  1. Скачайте актуальную версию VigorConnect (минимум 1.6.0 или выше) с официального сайта DrayTek или портала поддержки.
  2. Выполните резервное копирование базы данных и конфигурации перед обновлением.
  3. Установите обновление, следуя стандартной процедуре для вашей ОС (Windows или Linux).

Для Linux-систем (пример обновления через скрипт производителя):

chmod +x VigorConnect_linux_setup.sh

./VigorConnect_linux_setup.sh

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

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

  1. Ограничьте доступ к веб-интерфейсу 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

  1. Настройте Reverse Proxy (например, Nginx) перед VigorConnect для фильтрации опасных символов в URL. Добавьте правило, блокирующее запросы с последовательностями точек.
if ($request_uri ~ "\.\./") {
    return 403;
}

  1. Снизьте привилегии учетной записи, от которой запущен сервис VigorConnect. Запуск от имени root или System значительно увеличивает ущерб от эксплуатации данной уязвимости.

  2. Используйте системы обнаружения вторжений (IDS/IPS) для мониторинга сигнатур Path Traversal в HTTP-трафике.