Un débordement de tas dans DNSSEC d’Unbound expose les résolveurs vulnérables à une exécution de code à distance

Faille DNSSEC Unbound CVE-2026-81642 : un DNSKEY malveillant provoque un débordement de tas, corrigé en 1.26.1

Texte généré par intelligence artificielle, publié sans relecture humaine. Transparence IA

Un débordement de tas dans DNSSEC d’Unbound expose les résolveurs vulnérables à une exécution de code à distance
Vulnérabilités

Image d’illustration générée par IA

NLnet Labs a corrigé une vulnérabilité critique de corruption de mémoire dans Unbound, qui peut être déclenchée par l’intermédiaire d’une zone DNS malveillante. La faille affecte toutes les versions d’Unbound antérieures à la version 1.26.1 et peut permettre un déni de service ou une exécution de code à distance sur un résolveur vulnérable.

Référencée sous l’identifiant CVE-2026-81642, la vulnérabilité obtient un score CVSS 4.0 de 9,1 et est classée comme un débordement de tampon basé sur le tas selon la CWE-122. L’enregistrement du programme CVE a été publié et mis à jour le 16 septembre 2026.

Unbound 1.26.1 contient le correctif. Cette version corrige également huit autres CVE, dont une autre faille de corruption du tas susceptible de permettre l’exécution de code dans certains environnements.

Un enregistrement DNSKEY malveillant peut corrompre la mémoire du tas

La CVE-2026-81642 se trouve dans le validateur DNSSEC d’Unbound, le composant chargé d’authentifier les données DNS à l’aide de signatures cryptographiques et de chaînes de confiance.

La condition vulnérable est atteinte lorsqu’Unbound traite un enregistrement DNSKEY spécialement construit. Son nom propriétaire contient un pointeur de compression DNS dirigé vers la RDATA du même enregistrement, au lieu d’un emplacement externe valide. Lorsque le validateur traite cette structure malformée, il peut écrire au-delà du tampon alloué sur le tas.

L’attaquant doit contrôler une zone DNS malveillante et disposer d’un moyen d’amener le résolveur Unbound ciblé à interroger cette zone. L’attaque est accessible par le réseau et ne nécessite ni identifiants ni interaction de l’utilisateur.

Une tentative réussie peut faire planter le résolveur et provoquer un déni de service. Comme la mémoire écrasée contient des données contrôlées par l’attaquant, une exécution de code à distance est également considérée comme possible. Le vecteur CVSS 4.0 complet attribué par NLnet Labs est le suivant :

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:U/U:Red

La plage concernée dans l’enregistrement officiel du programme CVE couvre les versions d’Unbound allant de la version 0 à toutes les versions antérieures à la version 1.26.1. Elle inclut les versions 1.25.2 et 1.26.0, cette dernière ayant été publiée le 4 août.

La mise à niveau vers la version 1.25.1 ne suffit pas. Cette version corrigeait la CVE-2026-33278, une autre vulnérabilité critique du validateur DNSSEC, tandis que la CVE-2026-81642 était toujours présente jusqu’à la version 1.26.0.

Aucun cas d’exploitation n’a été signalé

NLnet Labs n’a pas signalé d’attaques exploitant la CVE-2026-81642. Les données disponibles de la CISA indiquaient également que son statut d’exploitation était « aucun ». Il n’a pas été établi que la vulnérabilité figure dans le catalogue des vulnérabilités exploitées connues de la CISA, et aucune échéance de remédiation KEV n’est connue.

Aucun indicateur d’exploitation n’a non plus été signalé pour permettre aux administrateurs d’effectuer des recherches. Les recommandations de réponse à incident se limitent donc aux données de télémétrie habituelles des résolveurs, notamment les plantages inexpliqués, les redémarrages, les erreurs de corruption de mémoire et les séquences de requêtes suspectes impliquant des zones inconnues.

L’absence d’exploitation connue ne réduit pas l’impact technique. Un résolveur peut contacter une infrastructure faisant autorité contrôlée par un attaquant dans le cadre d’une résolution DNS normale, et la vulnérabilité peut être atteinte sans connexion authentifiée au service Unbound.

Yuqi Qiu, en collaboration avec Xiang Li au sein de l’AOSP Lab de l’université de Nankai, a signalé la faille à NLnet Labs le 11 août. NLnet Labs a fourni un correctif le lendemain, et le signalant l’a vérifié le 13 août. Les deux chercheurs sont crédités comme découvreurs.

La version 1.26.1 corrige neuf failles de sécurité

La CVE-2026-81642 est la plus grave des neuf vulnérabilités corrigées dans Unbound 1.26.1. Plusieurs autres dépendent de paramètres de compilation précis, de ports d’écoute de protocoles ou de la configuration du résolveur.

Le deuxième problème de sécurité mémoire est la CVE-2026-82717, une faille de corruption du tas de gravité élevée déclenchée lors de la synthèse d’un CNAME dans une réponse en amont. Elle affecte les versions jusqu’à la version 1.26.0 et peut provoquer un déni de service. Une exécution de code peut être possible sur certains systèmes et avec certaines options de compilation. Aucun cas d’exploitation n’a été signalé.

Les autres correctifs sont les suivants :

  • La CVE-2026-81634, notée 7,5, peut faire planter les versions jusqu’à la version 1.26.0 lorsqu’un nom de requête de 255 caractères est associé à une réponse TCP volumineuse provenant d’un serveur de noms malveillant ou à une réponse altérée.
  • La CVE-2026-77955, notée 4,4, affecte les versions 1.13.2 à 1.26.0 lorsque zonemd-check: yes est configuré sous une ancre de confiance, mais pas au niveau de celle-ci. Elle peut provoquer un déni de service et permettre brièvement la distribution de données de zone altérées avant la vérification ZONEMD.
  • La CVE-2026-78227, notée 6,5, affecte les versions 1.22.0 à 1.26.0 compilées avec --with-libngtcp2 et configurées avec quic-port. L’impact signalé est un déni de service.
  • La CVE-2026-80225, notée 5,3, permet une dégradation du service au moyen d’un flux prolongé de noms distincts et non mis en cache envoyés via une seule connexion TCP ou DNS-over-TLS.
  • La CVE-2026-82720, notée 5,9, affecte les versions 1.12.0 à 1.26.0 compilées avec --with-libnghttp2 et configurées avec https-port. Elle peut provoquer un déni de service limité.
  • La CVE-2026-85501, notée 5,3, concerne les techniques de complexité algorithmique ReTrap, notamment TagTrap, DelegationTrap, NsecTrap et AdditionalTrap. Des zones malveillantes peuvent les utiliser pour dégrader les performances du résolveur.
  • La CVE-2026-77860 est un problème de faible gravité qui affecte les versions 1.20.0 à 1.26.0. Le chemin serve-expired peut contourner une contre-mesure DNSBomb et contribuer à une attaque par amplification en déni de service pulsé.

Dans le cadre de la remédiation de ReTrap, Unbound désactive désormais val-clean-additional par défaut. Par conséquent, les données DNSSEC figurant dans la section additionnelle d’une réponse ne sont plus validées par défaut.

Mettre à niveau ou appliquer les correctifs du fournisseur

Les administrateurs doivent installer Unbound 1.26.1 plutôt que de s’en remettre à des modifications de configuration. NLnet Labs fournit le code source, les sommes de contrôle, une signature PGP, des programmes d’installation pour Windows et des binaires Windows pour la version corrigée.

Les opérateurs qui ne peuvent pas effectuer immédiatement la mise à niveau peuvent appliquer un correctif à l’arborescence source. Les options disponibles comprennent des correctifs minimaux et complets pour la CVE-2026-81642, ainsi que des correctifs combinés couvrant les neuf vulnérabilités. Voici un exemple de séquence d’installation :

patch -p1 < patch_CVE-2026-81642_with.diff
make install

NLnet Labs a testé les correctifs autonomes pour les CVE-2026-81642 et CVE-2026-82717 avec Unbound 1.26.0. La compatibilité avec les autres branches de versions n’a pas été précisée.

La désactivation de la validation DNSSEC ne doit pas être considérée comme une mesure de contournement confirmée. Aucune recommandation officielle du fournisseur n’établit que cette modification de configuration empêche de manière fiable l’exécution du code vulnérable. Les mesures correctives documentées sont la mise à niveau ou l’application d’un correctif.

Les paquets des distributions peuvent rester en retard sur la version amont

La disponibilité d’un correctif en amont ne signifie pas que tous les dépôts des systèmes d’exploitation l’intègrent déjà. Debian indiquait jeudi que unbound 1.26.1-1 était corrigé dans unstable, tandis que bookworm, trixie et forky étaient encore marqués comme vulnérables.

Les administrateurs doivent vérifier la version réellement installée sur chaque résolveur au lieu de se fier uniquement à l’état habituel des mises à jour. Les inventaires doivent également couvrir les appliances, les déploiements embarqués, les conteneurs et les services DNS gérés en dehors des dépôts standards des systèmes d’exploitation.

Les paramètres de compilation et d’exécution doivent faire l’objet d’un examen distinct. Les déploiements utilisant --with-libngtcp2, --with-libnghttp2, quic-port, https-port, zonemd-check ou serve-expired sont exposés à d’autres failles corrigées dans la même version.

Les résolveurs récursifs exposés sur Internet et les systèmes traitant des requêtes influencées par des utilisateurs non fiables doivent être traités en priorité. Après l’application du correctif, les opérateurs doivent vérifier que le démon en cours d’exécution — et pas seulement la base de données des paquets — indique la version 1.26.1 ou une version compilée avec les correctifs appropriés.

À lire aussi

Sources

Cet article est une réécriture originale fondée sur les sources ci-dessous.

CVE traitées dans cet article

Sujets liésUnboundDNSSECCVE-2026-81642débordement de tasexécution code à distancemise à jour 1.26.1
Retour à l'accueil