CVE-2017-6884

Zyxel EMG2926 Routers

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

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

2023-09-18

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

Zyxel EMG2926 routers contain a command injection vulnerability located in the diagnostic tools, specifically the nslookup function. A malicious user may exploit numerous vectors to execute malicious commands on the router, such as the ping_ip parameter to the expert/maintenance/diagnostic/nslookup URI.

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

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

CVE-2017-6884 представляет собой критическую уязвимость типа Command Injection (инъекция команд) в веб-интерфейсе роутеров Zyxel EMG2926 (версия прошивки V1.00(AAQT.4) и более ранние). Проблема локализована в диагностических инструментах, а именно в функции nslookup.

Уязвимость возникает из-за недостаточной фильтрации входных данных в параметре ping_ip при отправке запроса к URI expert/maintenance/diagnostic/nslookup. Злоумышленник, имеющий доступ к веб-интерфейсу, может внедрить произвольные системные команды через метасимволы оболочки (например, ;, &, |, `). Поскольку веб-сервер устройства зачастую работает с привилегиями суперпользователя (root), это позволяет полностью скомпрометировать устройство, перехватывать трафик или использовать роутер как плацдарм для атаки на внутреннюю сеть.

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

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

  1. Перейдите на официальный портал поддержки Zyxel.
  2. Скачайте актуальную версию прошивки для модели EMG2926 (версия должна быть выше V1.00(AAQT.4)).
  3. Зайдите в веб-интерфейс роутера.
  4. Перейдите в раздел Maintenance -> Firmware Upgrade.
  5. Загрузите скачанный файл и запустите процесс обновления.

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

Если немедленное обновление прошивки невозможно, необходимо принять меры по минимизации рисков:

  1. Ограничьте доступ к веб-интерфейсу управления. Убедитесь, что удаленное управление (Remote Management/WAN Side Management) отключено.
iptables -A INPUT -p tcp --dport 80 -i eth0 -j DROP

iptables -A INPUT -p tcp --dport 443 -i eth0 -j DROP

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

  2. Используйте сегментацию сети, чтобы изолировать сегмент управления роутером от недоверенных пользователей.

  3. Отключите неиспользуемые службы, такие как Telnet или SSH, через настройки интерфейса или CLI.

telnetd -l /bin/sh -p 23 -D

(Примечание: команда выше приведена для идентификации процесса; для отключения используйте остановку службы в веб-интерфейсе).