Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-35517 — Scripts de deteção para RCE no Pi-hole FTLDNS (CVE-2026-35517) via injeção de nova linha, incluindo scanner em Python e script Nmap NSE para avaliação de vulnerabilidade baseada em versão. | Kitploit
Ferramentas/GitHubGitHub/keraattin/cve-2026-35517
Scanners de VulnerabilidadesExploraçãoColeta de InformaçõesSegurança WebSegurança de RedeTestes de Penetração
GitHubkeraattin/cve-2026-35517

CVE-2026-35517

Scripts de deteção para RCE no Pi-hole FTLDNS (CVE-2026-35517) via injeção de nova linha, incluindo scanner em Python e script Nmap NSE para avaliação de vulnerabilidade baseada em versão.

Ver Repositório
4há 5 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-35517 - Execução Remota de Código no Pi-hole FTLDNS via Injeção de Nova Linha

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

TL;DR

Uma vulnerabilidade de Execução Remota de Código no mecanismo FTLDNS do Pi-hole (versões 6.0 a 6.5) permite que um atacante autenticado injete diretivas arbitrárias de configuração do dnsmasq incorporando caracteres de nova linha (\n) no parâmetro dns.upstreams da API. Como o dnsmasq suporta diretivas que executam comandos de shell, essa injeção de nova linha se traduz diretamente em execução completa de comandos no sistema host.

Isso não é apenas um bug isolado, é uma classe de injeção que afeta cinco parâmetros de configuração diferentes, todos corrigidos juntos no FTL v6.6.


Índice

  • Fatos Rápidos
  • O que é o Pi-hole FTLDNS?
  • Análise Aprofundada da Vulnerabilidade
    • Entendendo a Arquitetura
    • O Ponto de Injeção
    • Da Nova Linha ao Shell — A Cadeia de Ataque
    • A Família Completa — Cinco Vetores de Injeção
  • Análise de Impacto
  • Versões Afetadas
  • Quem Está em Risco?
  • Detecção
    • Scanner Python
    • Script Nmap NSE
    • Verificação Manual de Versão
  • Indicadores de Comprometimento
  • Remediação
  • Referências
  • Autor

Fatos Rápidos

CampoDetalhe
ID CVECVE-2026-35517
FornecedorProjeto Pi-hole
ProdutoFTLDNS (pihole-FTL)
Versões Afetadas6.0 a < 6.6
CVSS v3.18.8 (Alto)
CWECWE-93 — Neutralização Incorreta de Sequências CRLF
Vetor de AtaqueRede
AutenticaçãoNecessária (acesso de administrador/API do Pi-hole)
Interação do UsuárioNenhuma
Publicado7 de abril de 2026
Corrigido EmFTL v6.6 (lançado em 3 de abril de 2026)
Descoberto PorT0X1Cx
Avisos RelacionadosGHSA-23w8-7333-p9fj, GHSA-wxhv-w77q-6qwp, GHSA-28g5-gg88-wh5m, GHSA-fqv2-qhfh-ghcj, GHSA-vfmq-jrx3-wv3c

O que é o Pi-hole FTLDNS?

O Pi-hole é um dos sumidouros de DNS mais amplamente implantados do mundo. Ele fica na sua rede, lida com consultas DNS e bloqueia anúncios e rastreadores no nível de DNS antes que eles cheguem ao seu navegador. É usado em todos os lugares, desde configurações únicas de Raspberry Pi em apartamentos até implantações empresariais que protegem milhares de dispositivos.

FTLDNS (Faster Than Light DNS) é o mecanismo central do Pi-hole. É um fork/wrapper personalizado em torno do dnsmasq, o conhecido servidor DNS e DHCP. O FTLDNS lida com:

  • Resolução e cache de consultas DNS
  • Bloqueio no nível de DNS (a função central do Pi-hole)
  • Funcionalidade de servidor DHCP
  • Registro e estatísticas de consultas
  • A API com a qual a interface web se comunica

Aqui está o detalhe principal: o FTLDNS gera arquivos de configuração do dnsmasq a partir de configurações fornecidas pelo usuário através de sua API. Se você alterar o servidor DNS upstream no painel de administração do Pi-hole, o FTLDNS grava esse valor em um arquivo de configuração do dnsmasq e reinicia o serviço. Esse caminho de gravação é onde a vulnerabilidade reside.


Análise Aprofundada da Vulnerabilidade

Entendendo a Arquitetura

root@kitploit:~
+------------------+            +------------------+               +------------------+
|   Painel Admin   |  API/Web   |   Mecanismo      | Gravação de   |    dnsmasq       |
|    (Web UI)      | ---------> |   FTLDNS         | Configuração  |   (DNS/DHCP)     |
+------------------+            |  (pihole-FTL)    | ------------> |                  |
                                +------------------+               +------------------+
                                        |                                   |
                                  Lê configurações,                  Lê configuração,
                                  grava em arquivos                  atende DNS/DHCP
                                  de configuração                    na rede

Quando um administrador altera os servidores DNS upstream através da interface web ou API do Pi-hole, o fluxo é:

  1. A interface web envia uma solicitação à API do FTLDNS com o novo valor de DNS upstream
  2. O FTLDNS valida a entrada (ou melhor, falha em validá-la corretamente)
  3. O FTLDNS grava o valor em uma diretiva de configuração do dnsmasq
  4. O dnsmasq é reiniciado e lê a nova configuração

O Ponto de Injeção

O parâmetro dns.upstreams destina-se a aceitar endereços de servidores DNS como 8.8.8.8 ou 1.1.1.1. O FTLDNS os grava na configuração do dnsmasq como diretivas server=:

root@kitploit:~
# Entrada normal: "8.8.8.8"
# Gera:
server=8.8.8.8

O problema: o FTLDNS não sanitiza caracteres de nova linha na entrada. Um atacante pode injetar \n para sair da diretiva server= pretendida e injetar linhas de configuração inteiramente novas:

root@kitploit:~
# Entrada maliciosa: "8.8.8.8\ndhcp-option=6,evil.dns.server"
# Gera:
server=8.8.8.8
dhcp-option=6,evil.dns.server

Isso por si só já seria preocupante (sequestro de DNS via injeção de opção DHCP). Mas fica pior.

Da Nova Linha ao Shell — A Cadeia de Ataque

O dnsmasq suporta uma diretiva de configuração chamada dhcp-option que pode referenciar scripts externos e, mais criticamente, suporta várias diretivas que podem executar comandos em cenários específicos. A cadeia de exploração se parece com isto:

root@kitploit:~
Passo 1: O atacante se autentica no Pi-hole 
        (credenciais padrão, senha fraca, CSRF, sessão comprometida)

Passo 2: O atacante envia uma solicitação de API para atualizar dns.upstreams:
        
        POST /api/dns/upstream
        {
          "upstreams": ["8.8.8.8\n<diretiva maliciosa do dnsmasq>"]
        }

Passo 3: O FTLDNS grava o valor no arquivo de configuração do dnsmasq 
        sem sanitizar a nova linha

Passo 4: A diretiva injetada do dnsmasq é interpretada como uma 
        opção de configuração legítima

Passo 5: Dependendo da diretiva injetada, o atacante alcança:
        - Sequestro de DNS (redirecionar todas as consultas DNS)
        - Envenenamento de DHCP (enviar configurações maliciosas aos clientes)
        - Execução de comandos via capacidades de script do dnsmasq
        - Gravação de arquivos em caminhos arbitrários

O ponto principal é que isso não se trata de explorar uma vulnerabilidade do dnsmasq — o dnsmasq está funcionando como projetado. A vulnerabilidade é que o FTLDNS permite que entrada não confiável vaze para o arquivo de configuração, transformando uma API de gerenciamento de configuração em um ponto de injeção de configuração arbitrária.

A Família Completa — Cinco Vetores de Injeção

O pesquisador (T0X1Cx) descobriu que o mesmo padrão de injeção de nova linha afeta cinco parâmetros de configuração diferentes do FTLDNS. Isso é um problema sistêmico — o código carecia de sanitização de entrada em toda a extensão:

AvisoParâmetroO Que Controla
GHSA-23w8-7333-p9fjdns.upstreamsServidores DNS upstream
GHSA-wxhv-w77q-6qwpdns.hostRecordRegistros de host DNS personalizados
GHSA-28g5-gg88-wh5mdns.cnameRecordsMapeamentos de registros CNAME
GHSA-fqv2-qhfh-ghcjdhcp.leaseTimeDuração da concessão DHCP
GHSA-vfmq-jrx3-wv3cdhcp.hostsAtribuições estáticas de host DHCP

Cada um desses parâmetros grava em arquivos de configuração do dnsmasq, e cada um falhou em sanitizar caracteres de nova linha. A correção no FTL v6.6 adicionou validação de entrada adequada que rejeita caracteres de nova linha (e outros caracteres de controle) em todos os parâmetros de configuração.


Análise de Impacto

No host do Pi-hole:

  • Execução completa de comandos com os privilégios do processo FTLDNS (normalmente usuário root ou pihole)
  • Como o Pi-hole frequentemente roda em dispositivos dedicados (Raspberry Pi) ou como um contêiner privilegiado, isso frequentemente significa acesso root
  • Acesso de leitura/gravação de arquivos no sistema de arquivos do host
  • Persistência via cron jobs, chaves SSH ou arquivos de sistema modificados

Na rede (impacto a jusante):

  • Sequestro de DNS — redirecionar todas as consultas DNS para servidores controlados pelo atacante
  • Envenenamento de DHCP — enviar configurações maliciosas de DNS, gateway ou NTP a todos os clientes DHCP
  • Posicionamento man-in-the-middle — ao controlar o DNS, o atacante pode redirecionar o tráfego de qualquer domínio
  • Coleta de credenciais — redirecionar endpoints de autenticação para servidores de phishing
  • Distribuição de malware — redirecionar domínios de atualização de software para servir payloads maliciosos

Fatores de amplificação de risco:

  • O Pi-hole é frequentemente o único servidor DNS na rede — comprometa-o e você controla a resolução de nomes para todos os dispositivos
  • Muitas instalações do Pi-hole usam senhas de administrador padrão ou fracas
  • Instâncias do Pi-hole são frequentemente expostas a toda a rede local, não apenas aos administradores
  • Ataques CSRF contra a interface web do Pi-hole poderiam acionar a exploração sem autenticação direta

Versões Afetadas

VersãoStatus
FTLDNS 6.6+Corrigido
FTLDNS 6.0 – 6.5Vulnerável
FTLDNS 5.x e anterioresNão afetado (arquitetura de API diferente)

Para verificar sua versão:

root@kitploit:~
pihole -v
# ou
pihole-FTL --version

Quem Está em Risco?

Alto risco:

  • Instâncias do Pi-hole acessíveis a partir de segmentos de rede não confiáveis
  • Implantações que usam senhas de administrador padrão ou fracas
  • Pi-hole exposto à internet (surpreendentemente comum no Shodan)
  • Ambientes de hospedagem compartilhada onde vários usuários acessam a mesma rede

Risco moderado:

  • Instâncias do Pi-hole em redes domésticas bem segmentadas com senhas fortes
  • Implantações atrás de VPN com autenticação multifator

Risco menor (mas ainda assim corrija):

  • Instâncias do Pi-hole isoladas ou com air-gap
  • Implantações somente leitura ou com API desabilitada

Detecção

Scanner Python

O script Python detecta instâncias vulneráveis do Pi-hole através de análise baseada em versão.

Como funciona:

  1. Fingerprinting — Identifica o Pi-hole via indicadores da interface de administração (conteúdo da página, cabeçalhos)
  2. Consulta de Versão da API — Consulta os endpoints de API v5 e v6 do Pi-hole para obter informações da versão do FTL
  3. Comparação de Versão — Analisa a string de versão do FTL e verifica contra o intervalo vulnerável (6.0 ≤ v < 6.6)
  4. CVEs Relacionados — Se vulnerável, sinaliza todos os cinco avisos relacionados de injeção de nova linha

Nenhum payload de injeção é enviado. O teste é inteiramente somente leitura e seguro.

Uso:

root@kitploit:~
# Instalar dependências
pip install -r requirements.txt

# Alvo único (HTTP, porta padrão 80)
python CVE-2026-35517_PiHole_FTLDNS_detector.py -t 192.168.1.1

# Porta personalizada
python CVE-2026-35517_PiHole_FTLDNS_detector.py -t pi.hole -p 8080

# Modo HTTPS (muda automaticamente para a porta 443)
python CVE-2026-35517_PiHole_FTLDNS_detector.py -t 10.0.0.1 --https

# Varredura em massa a partir de arquivo
python CVE-2026-35517_PiHole_FTLDNS_detector.py -f targets.txt

# Saída JSON salva em arquivo
python CVE-2026-35517_PiHole_FTLDNS_detector.py -t 192.168.1.1 --json -o results.json

# Timeout aumentado
python CVE-2026-35517_PiHole_FTLDNS_detector.py -t 192.168.1.1 --timeout 20

Opções:

FlagDescriçãoPadrão
-t, --targetIP ou hostname do alvo—
-f, --fileArquivo com alvos, um por linha (comentários # suportados)—
-p, --portPorta do alvo80
--httpsUsar HTTPS (muda automaticamente a porta para 443 se a porta for 80)Desligado
--timeoutTimeout de conexão em segundos10
--jsonSaída em formato JSONDesligado
-o, --outputSalvar resultados em um arquivo—

Exemplo de saída:

root@kitploit:~
╔══════════════════════════════════════════════════════════════╗
║  CVE-2026-35517 - Detector de RCE do Pi-hole FTLDNS          ║
║  Injeção de Nova Linha em dns.upstreams → Execução de Comando ║
║  CVSS: 8.8 (Alto) | Afeta: FTLDNS 6.0 - 6.5                  ║
╚══════════════════════════════════════════════════════════════╝

[*] Escaneando 192.168.1.1:80...

Alvo: 192.168.1.1:80
============================================================
  [*] Pi-hole detectado
      Interface de administração: Acessível
      API acessível:  Sim
      Versão do FTL:     v6.4
      Versão do Core:    v6.3
      Versão da Web:     v6.4

  Avaliação CVE-2026-35517:
    [VULNERÁVEL] FTLDNS 6.4 está dentro do intervalo vulnerável (6.0 - 6.5).
    Atualize para FTL v6.6 ou posterior imediatamente.

  Vulnerabilidades Relacionadas (também corrigidas no FTL v6.6):
    [-] GHSA-wxhv-w77q-6qwp: RCE via Injeção de Nova Linha em dns.hostRecord
    [-] GHSA-28g5-gg88-wh5m: RCE via Injeção de Nova Linha em dns.cnameRecords
    [-] GHSA-fqv2-qhfh-ghcj: RCE via Injeção de Nova Linha em dhcp.leaseTime
    [-] GHSA-vfmq-jrx3-wv3c: RCE via Injeção de Nova Linha em dhcp.hosts

  Remediação:
    1. Atualize o Pi-hole FTL para a versão 6.6 ou posterior
    2. Execute: pihole -up
    3. Verifique com: pihole -v
    4. Revise os controles de acesso à API e as configurações de autenticação
    5. Verifique os logs em busca de sinais de exploração (alterações incomuns na configuração DNS)

Script Nmap NSE

root@kitploit:~
# Instalar o script NSE
sudo cp CVE-2026-35517_PiHole_FTLDNS.nse /usr/share/nmap/scripts/
sudo nmap --script-updatedb

# Varredura básica
nmap -p 80 --script CVE-2026-35517_PiHole_FTLDNS <alvo>

# Escanear portas comuns do Pi-hole
nmap -p 80,443,8080,4711 --script CVE-2026-35517_PiHole_FTLDNS <alvo>

# Varredura de sub-rede — encontrar todas as instâncias do Pi-hole em uma rede
nmap -p 80 --script CVE-2026-35517_PiHole_FTLDNS 192.168.1.0/24

# Combinado com detecção de versão
nmap -sV -p 80,443 --script CVE-2026-35517_PiHole_FTLDNS <alvo>

# Escanear alvos a partir de um arquivo
nmap -p 80 --script CVE-2026-35517_PiHole_FTLDNS -iL targets.txt

Exemplo de saída do Nmap:

root@kitploit:~
PORT   STATE SERVICE
80/tcp open  http
| CVE-2026-35517_PiHole_FTLDNS:
|   VULNERÁVEL:
|   RCE no Pi-hole FTLDNS via Configuração de DNS Upstream
|     Estado: VULNERÁVEL
|     IDs:  CVE:CVE-2026-35517
|     Fator de risco: Alto (CVSS: 8.8)
|     Data de divulgação: 2026-04-07
|     Informações extras:
|       Versão do FTL: v6.4
|       Versão do Core: v6.3
|       Versão da Web: v6.4
|       Avisos relacionados também corrigidos no FTL v6.6:
|         GHSA-wxhv-w77q-6qwp (injeção em dns.hostRecord)
|         GHSA-28g5-gg88-wh5m (injeção em dns.cnameRecords)
|         GHSA-fqv2-qhfh-ghcj (injeção em dhcp.leaseTime)
|         GHSA-vfmq-jrx3-wv3c (injeção em dhcp.hosts)
|       Remediação: Atualize para Pi-hole FTL v6.6+ (pihole -up)
|     Referências:
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-35517
|_      https://github.com/pi-hole/FTL/security/advisories/GHSA-23w8-7333-p9fj

Verificação Manual de Versão

Se você tiver acesso SSH ao host do Pi-hole:

root@kitploit:~
# Verificar versão do FTL
pihole-FTL --version

# Ou via CLI do Pi-hole
pihole -v

# Verificar via API (v6)
curl -s http://pi.hole/api/info/version | python3 -m json.tool

# Verificar via API (v5)
curl -s http://pi.hole/admin/api.php?versions | python3 -m json.tool

Se a versão do FTL estiver entre 6.0 e 6.5 (inclusive), você está vulnerável.


Indicadores de Comprometimento

O que procurar:

  • Entradas incomuns na configuração do dnsmasq — Verifique /etc/dnsmasq.d/ e /etc/pihole/ em busca de diretivas inesperadas
  • Configurações de DNS upstream modificadas — Verifique se seus servidores upstream configurados não foram alterados
  • Chamadas de API inesperadas — Revise o log de consultas do Pi-hole e os logs de acesso à API em busca de solicitações de alteração de configuração
  • Comportamento DNS anômalo — Clientes resolvendo domínios para endereços IP inesperados
  • Novos cron jobs ou chaves SSH — Se o host foi comprometido via execução de comandos
  • Anomalias de processo — Processos filhos inesperados gerados pelo dnsmasq ou pihole-FTL

Comandos para investigar:

root@kitploit:~
# Verificar configurações do dnsmasq em busca de linhas injetadas
grep -r "dhcp-option\|addn-hosts\|conf-file\|log-facility" /etc/dnsmasq.d/

# Verificar modificações recentes de configuração
find /etc/pihole /etc/dnsmasq.d -mtime -7 -ls

# Revisar o log de depuração do Pi-hole
pihole -d

# Verificar processos em execução em busca de anomalias
ps aux | grep -E "dnsmasq|pihole"

# Revisar crontab em busca de persistência
crontab -l
cat /etc/crontab
ls -la /etc/cron.d/

Remediação

Ação imediata — atualize agora:

root@kitploit:~
# Atualizar o Pi-hole (inclui FTL, Web e Core)
pihole -up

# Verificar a atualização
pihole -v
# A versão do FTL deve ser >= 6.6

Se você não puder atualizar imediatamente:

  1. Restrinja o acesso à API — Configure o Pi-hole para aceitar apenas conexões de API de IPs confiáveis
  2. Altere a senha do administrador — Use uma senha forte e única: pihole -a -p
  3. Isolamento de rede — Garanta que a interface de administração do Pi-hole seja acessível apenas a partir de uma VLAN de gerenciamento
  4. Desabilite a API remota — Se você usa apenas a interface web local, restrinja a API ao localhost

Ações pós-correção:

  1. Audite a configuração de DNS — Revise todos os arquivos de configuração do dnsmasq em busca de diretivas injetadas
  2. Verifique os servidores upstream — Confirme se suas configurações de DNS upstream estão corretas
  3. Verifique persistência — Procure por cron jobs não autorizados, chaves SSH ou arquivos de sistema modificados
  4. Revise as concessões DHCP — Se o DHCP for gerenciado pelo Pi-hole, verifique as configurações de concessão
  5. Monitore o comportamento DNS — Observe padrões de resolução anômalos nos próximos dias

Referências

  • Aviso de Segurança do GitHub — GHSA-23w8-7333-p9fj (dns.upstreams)
  • Aviso de Segurança do GitHub — GHSA-wxhv-w77q-6qwp (dns.hostRecord)
  • Aviso de Segurança do GitHub — GHSA-28g5-gg88-wh5m (dns.cnameRecords)
  • Aviso de Segurança do GitHub — GHSA-fqv2-qhfh-ghcj (dhcp.leaseTime)
  • Aviso de Segurança do GitHub — GHSA-vfmq-jrx3-wv3c (dhcp.hosts)
  • Notas de Lançamento do Pi-hole FTL v6.6

Autor

Kerem Oruç - Engenheiro de Cibersegurança

  • GitHub: @keraattin
  • Twitter: @keraattin
Baixar ferramenta