CVE-2020-25506

D-Link DNS-320 Device

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

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

2021-11-03

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

D-Link DNS-320 device contains a command injection vulnerability in the sytem_mgr.cgi component that may allow for remote code execution.

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

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

Уязвимость (CVE-2020-25506) в веб-интерфейсе устройства D-Link DNS-320 позволяет удаленному атакующему выполнить произвольные команды на операционной системе устройства. Это возможно из-за недостаточной проверки входных данных в CGI-скрипте system_mgr.cgi. Атакующий может отправить специально сформированный HTTP-запрос с вредоносными командами, которые будут исполнены с привилегиями веб-сервера.

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

Официальное исправление: Производитель D-Link выпустил прошивку, устраняющую эту уязвимость. Необходимо обновить устройство до последней версии.

  1. Проверьте текущую версию прошивки:

    • Войдите в веб-интерфейс устройства (обычно http://<IP_адрес_устройства>).
    • Перейдите в раздел Система (System) -> Обновление прошивки (Firmware Update).
    • Запишите текущую версию.
  2. Скачайте и установите патч:

    • Перейдите на официальный сайт поддержки D-Link: https://support.dlink.com/
    • Найдите модель DNS-320.
    • В разделе Драйверы / ПО (Drivers / Software) скачайте последнюю версию прошивки. Для данной уязвимости необходима версия не ниже 2.06 (точный номер может быть выше, используйте самую свежую).
    • В том же разделе веб-интерфейса (Обновление прошивки) загрузите скачанный файл и выполните обновление. Устройство перезагрузится.

Временное решение

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

  1. Ограничьте доступ к веб-интерфейсу:

    • В настройках маршрутизатора или корпоративного межсетевого экрана заблокируйте входящий доступ к порту веб-интерфейса DNS-320 (по умолчанию TCP/80 и TCP/443) из внешней сети (Интернет).
    • Разрешите доступ к веб-интерфейсу только с доверенных IP-адресов (например, с определенной подсети администраторов).

    Пример правила для iptables (на шлюзе): ```bash

    Блокировать весь внешний доступ к веб-интерфейсу устройства 192.168.1.100

    iptables -A FORWARD -p tcp -d 192.168.1.100 --dport 80 -j DROP iptables -A FORWARD -p tcp -d 192.168.1.100 --dport 443 -j DROP

    Разрешить доступ только из локальной подсети 192.168.1.0/24

    iptables -I FORWARD -p tcp -d 192.168.1.100 --dport 80 -s 192.168.1.0/24 -j ACCEPT ```

  2. Отключите неиспользуемые службы:

    • Если удаленный доступ к веб-интерфейсу не требуется, отключите его в настройках самого устройства DNS-320 (если такая опция предусмотрена).
  3. Настройте WAF (Web Application Firewall):

    • Если устройство находится за WAF (например, ModSecurity), добавьте правило для блокировки запросов к /cgi-bin/system_mgr.cgi, содержащих в параметрах подозрительные символы (;, |, &, $, ()).