Aller au contenu

CVE-2026-6507: écriture hors limites dans dnsmasq

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.

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é.

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.

  1. Identifier une instance cible de dnsmasq avec —dhcp-split-relay activé.
  2. Forger un paquet de 552 octets intégrant une option d’information d’agent malformée.
  3. Transmettre la charge utile au service.
  4. Observer la corruption du tas via les journaux d’erreurs de gestion de la mémoire.

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.

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.

title: Dnsmasq Out-of-Bounds Write Attempt
status: experimental
logsource:
product: linux
service: dnsmasq
detection:
condition: dnsmasq_crash
dnsmasq_crash:
- selection: Process crash or SIGABRT in dnsmasq