В программном продукте DNSMasq выявлено семь уязвимостей. Три из них позволяют подменить содержимое кеша DNS-сервера, четыре — удаленно выполнить вредоносный код. Пользователям рекомендуется обновить продукт до сборки 2.83.
Пакет DNSMasq позволяет поднять и быстро настроить в локальной сети форвард-сервер DNS с возможностью кеширования запросов, а также DHCP- или TFTP-сервер. Этот софт предназначен для использования в домашних сетях и на предприятиях малого бизнеса, использующих трансляцию сетевых адресов (NAT).
Уязвимости, которым присвоено общее имя DNSpooq, обнаружили исследователи из израильской компании JSOF. Подменой DNS грозят три из них — CVE-2020-25684, CVE-2020-25685 и CVE-2020-25686.
«Мы обнаружили, что DNSMasq уязвим к атакам отравлением кеша DNS из положения вне пути (при котором злоумышленник не видит обмен между DNS-ретранслятором и DNS-сервером), — пишут авторы находки. — Наша атака позволяет подменить сразу множество доменных имен посредством использования нескольких уязвимостей. Особых условий при этом не требуется, и успешный результат можно получить за считанные секунды или пару минут. Мы также обнаружили, что многие экземпляры DNSMasq неправильно сконфигурированы и слушают WAN-интерфейс, что позволяет провести атаку непосредственно из интернета».
Возможность подмены кеша DNS была доказана более десяти лет назад. Проблему многократно пытались решить разными способами, но она до сих пор актуальна. Разработанная в JSOF атака схожа с SAD DNS и тоже позволяет с успехом обойти спецзащиту — рандомизацию порта источника запроса. К счастью, подобные атаки очень шумные: отправка множества DNS-пакетов на целевое устройство не преминет привлечь внимание интернет-провайдера и организаций, ведущих мониторинг интернет-трафика.
Остальные четыре бага в DNSMasq классифицируются как переполнение буфера, грозящее удаленным исполнением произвольного кода. Взятые по отдельности, они не очень опасны, однако в комбинации с возможностью подмены DNS каждый из них может спровоцировать мощную атаку на локальную сеть.
В этом случае злоумышленник, по словам экспертов, сможет захватить контроль над роутерами и другими сетевыми устройствами, провести DDoS-атаку из сети, направив мусорный трафик на внешнюю мишень, и заблокировать доступ к определенным сайтам для всех пользователей сети.
Если уязвимый DNS-резолвер настроен на прием только внутренних соединений, вредоносный код можно привнести через точку доступа WiFi, браузер мобильного устройства или путем взлома какого-либо устройства в локальной сети.
Наличие проблем DNSpooq подтверждено для DNSMasq версий с 2.78 to 2.82. По состоянию на сентябрь 2020 года в интернете присутствует около 1 млн уязвимых устройств — Android-смартфонов, роутеров, файрволов, VPN от десятков вендоров. Среди последних числятся такие известные имена, как Cisco, Aruba, D-Link, Asus, Huawei, Linksys, Zyxel, Juniper, Netgear, Xiaomi, Red Hat, IBM, HPE, Siemens, Ubiquiti, Comcast.
Патчи включены в состав сборки DNSMasq 2.83, которую пользователей призывают непременно установить. Производителям затронутых устройств предстоит работа над обновлением прошивок, а пока их нет, владельцы уязвимого оборудования могут снизить риск эксплойта, ограничив количество DNS-запросов, проходящих через форвард-сервер, и защитив прямые соединения с внешними серверами DNS с помощью протокола DNS-over-HTTPS (DoH) или DNS-over-TLS (DoT).