EN
en direct
Réseau Critique CVSS 9.3

L’attaque RebirthDay ressuscite l’empoisonnement DNS des années 2000 en exploitant ECS

Des chercheurs ont ressuscité l’attaque d’anniversaire DNS, morte depuis 2002, en contournant l’agrégation de requêtes via ECS ; huit éditeurs ont reconnu le problème et 50 CVE ont été assignées. Unbound, PowerDNS et BIND sont concernés — les résolveurs exposés doivent être mis à jour sans attendre.

Un standard téléphonique sombre hérissé de douzaines de prises en cuivre identiques, une seule prise brillant en ambre pendant qu’un câble se branche sur le mauvais jack.

2025. Des chercheurs présentent RebirthDay à la conférence CCS, une attaque qui ressuscite l’empoisonnement DNS par anniversaire, considéré comme mort depuis 2002. 2026. Le travail est repris à Black Hat Asia, avec un bilan de divulgation responsable : huit éditeurs ont reconnu le problème et 50 CVE ont été assignées. 22 juillet 2026. NLnet Labs publie de son côté la CVE-2026-50252, une faille d’entropie de port dans Unbound, cotée CVSS 9.3. Le point qui compte : l’empoisonnement de cache DNS n’est plus un chapitre d’histoire — il est redevenu une surface d’attaque réelle, et les résolveurs exposés doivent être corrigés maintenant.

Comment RebirthDay contourne la défense qui a tué l’attaque d’anniversaire

L’empoisonnement de cache DNS consiste à faire accepter à un résolveur une réponse forgée qui associe un nom de domaine à une adresse IP contrôlée par l’attaquant. La défense historique tient à deux secrets : un port source aléatoire et un identifiant de transaction. L’attaque d’anniversaire — envoyer beaucoup de réponses devinées et compter sur la collision — a cessé de fonctionner en 2002, quand les résolveurs ont commencé à agréger les requêtes identiques : une seule requête sortante par nom, une seule chance de deviner.

RebirthDay brise précisément cette protection. L’astuce repose sur ECS — EDNS Client Subnet —, l’extension qui transmet un préfixe de l’adresse du client au résolveur pour orienter le choix d’un CDN. En envoyant des requêtes avec des préfixes ECS différents, l’attaquant force le résolveur à émettre plusieurs requêtes sortantes pour le même nom, une par préfixe. L’agrégation vole en éclats : chaque préfixe offre une nouvelle chance de collision, et l’attaque d’anniversaire redevient statistiquement rentable.

Les cibles sont les résolveurs récursifs et les forwarders qui activent ECS sans vérifier sa cohérence. Le bilan est large parce qu’ECS est répandu et rarement audité.

Le cas concret : Unbound et la CVE-2026-50252

À côté du travail académique, la CVE-2026-50252 illustre la même famille de risque sous un angle plus terre à terre. Elle touche Unbound, le résolveur validant de NLnet Labs, dans les versions 1.4.22 à 1.25.1, et seulement quand l’option so-reuseport est active — ce qui est le défaut dans ces versions.

Le mécanisme est subtil. Unbound répartit la plage de ports UDP entre ses threads de travail. Avec SO_REUSEPORT, le noyau envoie chaque port client vers un thread fixe. Un observateur situé sur le même réseau peut donc apprendre la correspondance entre un port sortant et un thread, pour une adresse source donnée. Une fois le thread identifié, le nombre de ports à deviner s’effondre, ce qui rend l’empoisonnement de cache nettement moins coûteux.

Le correctif 1.25.2 remplace ce partage par un pool de ports commun par interface, de sorte que le port ne révèle plus le thread. La faille est cotée CVSS 9.3 avec un vecteur réseau adjacent : l’attaquant doit pouvoir observer les requêtes du résolveur, ce qui limite l’exploitation aux réseaux où l’on peut écouter le trafic — mais un résolveur mutualisé ou un Wi-Fi ouvert change la donne.

L’ampleur : huit éditeurs, cinquante CVE

La divulgation responsable de RebirthDay a reçu des accusés de réception de huit éditeurs, dont BIND (ISC), Unbound (NLnet Labs), PowerDNS et Quad9. Le total de 50 CVE assignées signale un problème transversal : ce n’est pas une implémentation fautive, mais une classe de faiblesse liée à la vérification d’ECS et aux extensions DNS qui l’accompagnent.

La leçon dépasse le correctif du jour. ECS a été ajouté pour des raisons de performance et de CDN, pas pour être un vecteur d’attaque. Sa combinaison avec les mécanismes d’entropie des résolveurs a rouvert une porte qu’on croyait fermée depuis un quart de siècle. Les chercheurs insistent : il faut accorder plus d’attention à la vérification d’ECS et à ses implémentations.

Ce qu’il faut faire, concrètement

Les gestes de remédiation sont précis et vérifiables.

Mettez Unbound à jour vers 1.25.2, ou installez le paquet corrigé par votre distribution pour la CVE-2026-50252. Les personnes qui compilent depuis les sources sans pouvoir passer à 1.25.2 peuvent appliquer le patch publié par NLnet Labs pour la 1.25.1.

bash
unbound -V
unbound-checkconf -o so-reuseport

La première commande affiche la version installée ; la seconde imprime la valeur effective de so-reuseport. Si elle répond yes, la condition de l’avis est remplie. Un paquet peut afficher une version de base ancienne avec des correctifs rétroportés : vérifiez le suivi de sécurité de votre distribution.

Désactivez ECS si vous n’en avez pas besoin. Un résolveur d’entreprise qui ne sert pas de CDN n’a aucune raison d’émettre des requêtes ECS. Le désactiver supprime la surface d’attaque que RebirthDay exploite.

Gardez la validation DNSSEC active. Elle protège les réponses indépendamment des ports sources et rend un empoisonnement inoffensif sur les zones signées.

Limitez qui peut interroger le résolveur avec des règles d’access-control, et redémarrez le service après mise à jour pour confirmer que la nouvelle version tourne.

Verdict

Si vous opérez un résolveur Unbound exposé à d’autres clients que les vôtres, montez en 1.25.2 sans attendre et vérifiez so-reuseport : c’est un correctif à une commande près, face à une faille cotée 9.3. Si vous gérez un parc de résolveurs ou de forwarders, ajoutez deux consignes à votre standard : désactiver ECS là où il ne sert pas, et garder DNSSEC activé. La conclusion de RebirthDay tient en une phrase : une extension ajoutée pour la performance a réouvert une attaque de 2002 — la défense ne tient que si l’on traite chaque extension DNS comme une surface à auditer.

Références

cve

Vulnérabilités liées

CVE-2026-50252In NLnet Labs Unbound 1.4.22 up to and including 1.25.1, UDP source port is randomized and intended to serve as a secret value that increases the entropy of DNS transactions. When resolver load balancing policies depend on the source port while their outcome is revealed this secrecy is undermined. The vulnerability arises when the load balancing policy is consistent with respect to the incoming source UDP port and IP address while heavily depending on the incoming source UDP port as a randomization source. When the SO_REUSEPORT configuration option is enabled ('so-reuseport: yes') in Unbound (by default), it meets these conditions, making it vulnerable for DNS cache poisoning attacks. Upon startup, Unbound randomly partitions the available UDP source port space into disjoint subsets of (almost) equal size, assigning each subset to a specific worker thread. When an incoming DNS query is received, the kernel’s SO_REUSEPORT load balancing mechanism deterministically assigns the query to a socket associated with a particular thread. All outgoing DNS queries generated during the resolution of that request use source ports selected exclusively from the port subset assigned to the corresponding thread. Since these port subsets are disjoint across threads, the source port observed in a resolver’s outgoing query to an authoritative name server serves as a reliable indicator of the worker thread that processed the original client query. A malicious actor can acquire the mapping between incoming UDP source ports (for a given fixed source IP address) and Unbound worker threads and leverage it to conduct DNS cache poisoning attacks by effectively lowering the random port population per thread.Nlnetlabs Unbound Critique CVSS 9.3 22/07

Le brief cyber, chaque mardi

Les failles qui comptent, les correctifs à appliquer, en dix minutes de lecture.

Pas de spam. Désinscription en un clic.
à lire ensuite

Sur le même sujet

OpenSSL 4.1.0 livre enfin DTLS 1.3, avec quatre bugs connus dans le code livré

Le 23 octobre 2026, OpenSSL publie la version 4.1.0, qui apporte le support de DTLS 1.3 (RFC 9147) en même temps que quatre bugs connus dans ce code, dont deux font mentir les codes de retour d’une connexion. Si vous adoptez DTLS 1.3 côté serveur, ne prenez pas SSL_ERROR_WANT_READ ni SSL_ERROR_SYSCALL au pied de la lettre.

Le SSH de Tailscale transforme une machine compromise en accès root sur tout le maillage

Le 25 octobre 2026, la chercheuse Erica Windisch publie « Tailworm », un rapport qui montre que le SSH de Tailscale, combiné au transfert de port, donne un accès root sur chaque serveur joignable dès qu’un seul appareil du maillage est compromis. Sans correctif ni CVE à ce jour, la parade immédiate tient en trois réglages : règles d’accès par paires, transfert de port désactivé et Tailnet Lock.

← Retour au fil

Tapez au moins deux caractères.

↑ ↓ naviguer ↵ ouvrir esc fermer