Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-35517 — Скрипты обнаружения для Pi-hole FTLDNS RCE (CVE-2026-35517) через инъекцию перевода строки, включая сканер на Python и Nmap NSE-скрипт для оценки уязвимости на основе версии. | Kitploit
Инструменты/GitHubGitHub/keraattin/cve-2026-35517
Сканеры уязвимостейЭксплуатацияСбор информацииВеб-безопасностьСетевая безопасностьТестирование на Проникновение
GitHubkeraattin/cve-2026-35517

CVE-2026-35517

Скрипты обнаружения для Pi-hole FTLDNS RCE (CVE-2026-35517) через инъекцию перевода строки, включая сканер на Python и Nmap NSE-скрипт для оценки уязвимости на основе версии.

Репозиторий
165 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-35517 — Удалённое выполнение кода в Pi-hole FTLDNS через инъекцию символа новой строки

CVE-2026-35517 CVSS 8.8 CWE-93 FTLDNS 6.0-6.5

TL;DR

Удалённое выполнение кода в движке FTLDNS от Pi-hole (версии 6.0–6.5) позволяет аутентифицированному злоумышленнику внедрять произвольные директивы конфигурации dnsmasq, встраивая символы новой строки (\n) в параметр API dns.upstreams. Поскольку dnsmasq поддерживает директивы, выполняющие команды оболочки, эта инъекция новой строки напрямую приводит к полному выполнению команд на хост-системе.

Это не просто отдельная ошибка, а целый класс инъекций, затрагивающий пять различных параметров конфигурации, все из которых были исправлены вместе в FTL v6.6.


Содержание

  • Краткие факты
  • Что такое Pi-hole FTLDNS?
  • Подробный анализ уязвимости
    • Понимание архитектуры
    • Точка инъекции
    • От новой строки к оболочке — цепочка атаки
    • Полное семейство — пять векторов инъекции
  • Анализ воздействия
  • Затронутые версии
  • Кто в зоне риска?
  • Обнаружение
    • Сканер на Python
    • NSE-скрипт для Nmap
    • Ручная проверка версии
  • Индикаторы компрометации
  • Устранение
  • Ссылки
  • Автор

Краткие факты

ПолеДетали
ID CVECVE-2026-35517
ВендорPi-hole Project
ПродуктFTLDNS (pihole-FTL)
Затронутые версии6.0 до < 6.6
CVSS v3.18.8 (Высокий)
CWECWE-93 — Некорректная нейтрализация CRLF-последовательностей
Вектор атакиСеть
АутентификацияТребуется (доступ к админ-панели/API Pi-hole)
Взаимодействие с пользователемНет
Опубликовано7 апреля 2026 г.
Исправлено вFTL v6.6 (выпущена 3 апреля 2026 г.)
ОбнаружилT0X1Cx
Связанные уведомленияGHSA-23w8-7333-p9fj, GHSA-wxhv-w77q-6qwp, GHSA-28g5-gg88-wh5m, GHSA-fqv2-qhfh-ghcj, GHSA-vfmq-jrx3-wv3c

Что такое Pi-hole FTLDNS?

Pi-hole — один из самых широко развёрнутых DNS-сверхфильтров (sinkhole) в мире. Он работает в вашей сети, обрабатывает DNS-запросы и блокирует рекламу и трекеры на уровне DNS, прежде чем они достигнут вашего браузера. Он используется повсюду: от одиночных Raspberry Pi в квартирах до корпоративных развёртываний, защищающих тысячи устройств.

FTLDNS (Faster Than Light DNS) — это основной движок Pi-hole. Это собственная модификация/обёртка вокруг dnsmasq, известного DNS- и DHCP-сервера. FTLDNS отвечает за:

  • Обработку и кэширование DNS-запросов
  • Блокировку на уровне DNS (основная функция Pi-hole)
  • Функциональность DHCP-сервера
  • Журналирование запросов и статистику
  • API, с которым взаимодействует веб-интерфейс

Вот ключевая деталь: FTLDNS генерирует файлы конфигурации dnsmasq из пользовательских настроек через свой API. Если вы меняете вышестоящий DNS-сервер в админ-панели Pi-hole, FTLDNS записывает это значение в файл конфигурации dnsmasq и перезапускает службу. Именно в этом пути записи и находится уязвимость.


Подробный анализ уязвимости

Понимание архитектуры

+------------------+            +------------------+               +------------------+
|   Панель         |  API/Web   |   Движок FTLDNS  | Запись конфиг.|    dnsmasq       |
|   администратора | ---------> |  (pihole-FTL)    | ------------> |   (DNS/DHCP)     |
|    (Web UI)      |            +------------------+               +------------------+
+------------------+                                        |                                   |
                                  Читает настройки,                     Читает конфигурацию,
                                  записывает конфигурацию              обслуживает DNS/DHCP
                                  файлы на диск                        для сети

Когда администратор меняет вышестоящие DNS-серверы через веб-интерфейс или API Pi-hole, поток выглядит так:

  1. Веб-интерфейс отправляет запрос к API FTLDNS с новым значением вышестоящего DNS
  2. FTLDNS проверяет ввод (или, точнее, не проверяет его должным образом)
  3. FTLDNS записывает значение в директиву конфигурации dnsmasq
  4. dnsmasq перезапускается и читает новую конфигурацию

Точка инъекции

Параметр dns.upstreams предназначен для приёма адресов DNS-серверов, таких как 8.8.8.8 или 1.1.1.1. FTLDNS записывает их в конфигурацию dnsmasq как директивы server=:

# Обычный ввод: "8.8.8.8"
# Генерирует:
server=8.8.8.8

Проблема: FTLDNS не очищает символы новой строки во вводе. Злоумышленник может внедрить \n, чтобы выйти за пределы предполагаемой директивы server= и внедрить совершенно новые строки конфигурации:

# Вредоносный ввод: "8.8.8.8\ndhcp-option=6,evil.dns.server"
# Генерирует:
server=8.8.8.8
dhcp-option=6,evil.dns.server

Уже одно это вызывало бы беспокойство (угон DNS через инъекцию DHCP-опций). Но становится ещё хуже.

От новой строки к оболочке — цепочка атаки

dnsmasq поддерживает директиву конфигурации под названием dhcp-option, которая может ссылаться на внешние скрипты, и, что более важно, поддерживает несколько директив, которые могут выполнять команды в определённых сценариях. Цепочка эксплуатации выглядит так:

Шаг 1: Злоумышленник аутентифицируется в Pi-hole 
        (учётные данные по умолчанию, слабый пароль, CSRF, скомпрометированная сессия)

Шаг 2: Злоумышленник отправляет API-запрос на обновление dns.upstreams:
        
        POST /api/dns/upstream
        {
          "upstreams": ["8.8.8.8\n<вредоносная директива dnsmasq>"]
        }

Шаг 3: FTLDNS записывает значение в файл конфигурации dnsmasq 
        без очистки символа новой строки

Шаг 4: Внедрённая директива dnsmasq интерпретируется как 
        легитимный параметр конфигурации

Шаг 5: В зависимости от внедрённой директивы злоумышленник достигает:
        - Угона DNS (перенаправление всех DNS-запросов)
        - Отравления DHCP (отправка вредоносных конфигураций клиентам)
        - Выполнения команд через скриптовые возможности dnsmasq
        - Записи файлов в произвольные пути

Ключевой вывод: это не эксплуатация уязвимости dnsmasq — dnsmasq работает как задумано. Уязвимость в том, что FTLDNS позволяет недоверенному вводу просачиваться в файл конфигурации, превращая API управления конфигурацией в точку произвольной инъекции конфигурации.

Полное семейство — пять векторов инъекции

Исследователь (T0X1Cx) обнаружил, что тот же паттерн инъекции новой строки затрагивает пять различных параметров конфигурации FTLDNS. Это системная проблема — коду не хватало очистки ввода во всех местах:

УведомлениеПараметрЧто он контролирует
GHSA-23w8-7333-p9fjdns.upstreamsВышестоящие DNS-серверы
GHSA-wxhv-w77q-6qwpdns.hostRecordПользовательские DNS-записи хостов
GHSA-28g5-gg88-wh5mdns.cnameRecordsСопоставления CNAME-записей
GHSA-fqv2-qhfh-ghcjdhcp.leaseTimeПродолжительность DHCP-аренды
GHSA-vfmq-jrx3-wv3cdhcp.hostsСтатические назначения DHCP-хостов
Скачать инструмент