CVE-2026-6507: écriture hors limites dans dnsmasq
Résumé exécutif
Section intitulée « Résumé exécutif »J’ai analysé la CVE-2026-6507, une vulnérabilité de corruption mémoire affectant le serveur DHCP et le redirecteur DNS dnsmasq (v2.92). La faille permet à un attaquant distant non authentifié de provoquer une écriture hors limites sur le tas (heap) via un paquet BOOTREPLY contrefait. L’exploitation réussie entraîne une condition de déni de service (DoS), provoquant l’arrêt du service.
Analyse de la vulnérabilité
Section intitulée « Analyse de la vulnérabilité »Le problème provient d’une validation d’entrée insuffisante dans la logique de relais DHCP lorsque l’option de configuration —dhcp-split-relay est active. Mon examen du fichier src/rfc2131.c révèle que l’opération memset effectue une écriture en dehors des limites du tampon de réception alloué.
Mécanismes d’exploitation
Section intitulée « Mécanismes d’exploitation »La primitive d’exploitation repose sur l’injection d’une option d’information d’agent conforme à la RFC 3046 à la fin d’une trame BOOTREPLY valide. Cela force les routines internes de gestion de la mémoire à invalider les blocs suivants, provoquant l’arrêt immédiat du processus.
- Identifier une instance cible de dnsmasq avec —dhcp-split-relay activé.
- Forger un paquet de 552 octets intégrant une option d’information d’agent malformée.
- Transmettre la charge utile au service.
- Observer la corruption du tas via les journaux d’erreurs de gestion de la mémoire.
Preuves forensiques
Section intitulée « Preuves forensiques »L’analyse des systèmes compromis révèle généralement :
- Des plantages inattendus du processus consignés dans le journal système.
- Des preuves de corruption du tas dans les vidages de mémoire (core dumps).
- Des motifs de trafic DHCP malformés capturés dans des fichiers pcap.
Logique de détection
Section intitulée « Logique de détection »Pour détecter les tentatives d’exploitation, je recommande de se concentrer sur les métriques d’instabilité du service et le trafic réseau anormal.
Règle Sigma
Section intitulée « Règle Sigma »title: Dnsmasq Out-of-Bounds Write Attemptstatus: experimentallogsource: product: linux service: dnsmasqdetection: condition: dnsmasq_crash dnsmasq_crash: - selection: Process crash or SIGABRT in dnsmasqRequête KQL
Section intitulée « Requête KQL »DeviceEvents| where FileName =~ "dnsmasq"| where ActionType =~ "ProcessCrash"| extend Message = parse_json(AdditionalFields)| where Message.Signal in ("SIGABRT", "SIGSEGV")