Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-35517 — Scripts de détection pour la RCE Pi-hole FTLDNS (CVE-2026-35517) via injection de saut de ligne, incluant un scanner Python et un script Nmap NSE pour l'évaluation de la vulnérabilité basée sur la version. | Kitploit
Outils/GitHubGitHub/keraattin/cve-2026-35517
Scanners de VulnérabilitésExploitationCollecte d'InformationsSécurité WebSécurité RéseauTests d'Intrusion
GitHubkeraattin/cve-2026-35517

CVE-2026-35517

Scripts de détection pour la RCE Pi-hole FTLDNS (CVE-2026-35517) via injection de saut de ligne, incluant un scanner Python et un script Nmap NSE pour l'évaluation de la vulnérabilité basée sur la version.

Voir le dépôt
16il y a 5 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-35517 - Exécution de code à distance dans Pi-hole FTLDNS via injection de saut de ligne

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

TL;DR

Une vulnérabilité d'exécution de code à distance dans le moteur FTLDNS de Pi-hole (versions 6.0 à 6.5) permet à un attaquant authentifié d'injecter des directives de configuration dnsmasq arbitraires en intégrant des caractères de saut de ligne (\n) dans le paramètre API dns.upstreams. Étant donné que dnsmasq prend en charge des directives qui exécutent des commandes shell, cette injection de saut de ligne se traduit directement par une exécution complète de commandes sur le système hôte.

Il ne s'agit pas d'un simple bug isolé, mais d'une classe d'injection qui affecte cinq paramètres de configuration différents, tous corrigés ensemble dans FTL v6.6.


Table des matières

  • Faits rapides
  • Qu'est-ce que Pi-hole FTLDNS ?
  • Analyse approfondie de la vulnérabilité
    • Comprendre l'architecture
    • Le point d'injection
    • Du saut de ligne au shell — La chaîne d'attaque
    • La famille complète — Cinq vecteurs d'injection
  • Analyse d'impact
  • Versions affectées
  • Qui est à risque ?
  • Détection
    • Scanner Python
    • Script Nmap NSE
    • Vérification manuelle de la version
  • Indicateurs de compromission
  • Remédiation
  • Références
  • Auteur

Faits rapides

ChampDétail
ID CVECVE-2026-35517
FournisseurProjet Pi-hole
ProduitFTLDNS (pihole-FTL)
Versions affectées6.0 à < 6.6
CVSS v3.18.8 (Élevé)
CWECWE-93 — Neutralisation incorrecte des séquences CRLF
Vecteur d'attaqueRéseau
AuthentificationRequise (accès admin/API Pi-hole)
Interaction utilisateurAucune
Publié7 avril 2026
Corrigé dansFTL v6.6 (publié le 3 avril 2026)
Découvert parT0X1Cx
Avis associésGHSA-23w8-7333-p9fj, GHSA-wxhv-w77q-6qwp, GHSA-28g5-gg88-wh5m, GHSA-fqv2-qhfh-ghcj, GHSA-vfmq-jrx3-wv3c

Qu'est-ce que Pi-hole FTLDNS ?

Pi-hole est l'un des puits DNS (DNS sinkholes) les plus déployés au monde. Il se place sur votre réseau, gère les requêtes DNS et bloque les publicités et les traqueurs au niveau DNS avant même qu'ils n'atteignent votre navigateur. Il est utilisé partout, des simples configurations Raspberry Pi dans les appartements aux déploiements d'entreprise protégeant des milliers d'appareils.

FTLDNS (Faster Than Light DNS) est le moteur principal de Pi-hole. C'est un fork/enveloppe personnalisé autour de dnsmasq, le serveur DNS et DHCP bien connu. FTLDNS gère :

  • La résolution et la mise en cache des requêtes DNS
  • Le blocage au niveau DNS (la fonction principale de Pi-hole)
  • Les fonctionnalités de serveur DHCP
  • La journalisation et les statistiques des requêtes
  • L'API avec laquelle l'interface web communique

Voici le détail clé : FTLDNS génère les fichiers de configuration dnsmasq à partir des paramètres fournis par l'utilisateur via son API. Si vous modifiez le serveur DNS amont dans le panneau d'administration Pi-hole, FTLDNS écrit cette valeur dans un fichier de configuration dnsmasq et redémarre le service. C'est dans ce chemin d'écriture que se trouve la vulnérabilité.


Analyse approfondie de la vulnérabilité

Comprendre l'architecture

+------------------+            +------------------+               +------------------+
|   Panneau admin  |  API/Web   |  Moteur FTLDNS   | Écriture config|    dnsmasq       |
|    (Interface)   | ---------> |  (pihole-FTL)    | ------------> |   (DNS/DHCP)     |
+------------------+            +------------------+               +------------------+
                                        |                                   |
                                  Lit les paramètres,                 Lit la config,
                                  écrit dans les fichiers             sert DNS/DHCP
                                  de configuration sur disque        au réseau

Lorsqu'un administrateur modifie les serveurs DNS amont via l'interface web ou l'API Pi-hole, le flux est le suivant :

  1. L'interface web envoie une requête à l'API FTLDNS avec la nouvelle valeur de DNS amont
  2. FTLDNS valide l'entrée (ou plutôt, ne parvient pas à la valider correctement)
  3. FTLDNS écrit la valeur dans une directive de configuration dnsmasq
  4. dnsmasq est redémarré et lit la nouvelle configuration

Le point d'injection

Le paramètre dns.upstreams est destiné à accepter des adresses de serveurs DNS comme 8.8.8.8 ou 1.1.1.1. FTLDNS les écrit dans la configuration dnsmasq sous forme de directives server= :

# Entrée normale : "8.8.8.8"
# Génère :
server=8.8.8.8

Le problème : FTLDNS ne neutralise pas les caractères de saut de ligne dans l'entrée. Un attaquant peut injecter \n pour sortir de la directive server= prévue et injecter des lignes de configuration entièrement nouvelles :

# Entrée malveillante : "8.8.8.8\ndhcp-option=6,evil.dns.server"
# Génère :
server=8.8.8.8
dhcp-option=6,evil.dns.server

Cela seul serait déjà préoccupant (détournement DNS via injection d'options DHCP). Mais cela devient pire.

Du saut de ligne au shell — La chaîne d'attaque

dnsmasq prend en charge une directive de configuration appelée dhcp-option qui peut référencer des scripts externes, et plus crucialement, il prend en charge plusieurs directives qui peuvent exécuter des commandes dans des scénarios spécifiques. La chaîne d'exploitation ressemble à ceci :

Étape 1 : L'attaquant s'authentifie sur Pi-hole
        (identifiants par défaut, mot de passe faible, CSRF, session compromise)

Étape 2 : L'attaquant envoie une requête API pour mettre à jour dns.upstreams :

        POST /api/dns/upstream
        {
          "upstreams": ["8.8.8.8\n<directive dnsmasq malveillante>"]
        }

Étape 3 : FTLDNS écrit la valeur dans le fichier de configuration dnsmasq
        sans neutraliser le saut de ligne

Étape 4 : La directive dnsmasq injectée est analysée comme une
        option de configuration légitime

Étape 5 : Selon la directive injectée, l'attaquant obtient :
        - Détournement DNS (redirection de toutes les requêtes DNS)
        - Empoisonnement DHCP (envoi de configurations malveillantes aux clients)
        - Exécution de commandes via les capacités de script de dnsmasq
        - Écriture de fichiers vers des chemins arbitraires

Le point clé est qu'il ne s'agit pas d'exploiter une vulnérabilité de dnsmasq — dnsmasq fonctionne comme prévu. La vulnérabilité réside dans le fait que FTLDNS laisse des entrées non fiables s'infiltrer dans le fichier de configuration, transformant une API de gestion de configuration en point d'injection de configuration arbitraire.

La famille complète — Cinq vecteurs d'injection

Le chercheur (T0X1Cx) a découvert que le même modèle d'injection de saut de ligne affecte cinq paramètres de configuration FTLDNS différents. Il s'agit d'un problème systémique — le code manquait de neutralisation des entrées dans l'ensemble :

Télécharger l’outil