CVE-2024-38063 — Vulnérabilité de la pile IPv6 de Windows (Analyse et PoC)
Analyse technique et Preuve de Concept (PoC) pour CVE-2024-38063, une vulnérabilité critique d'exécution de code à distance (RCE) dans la pile IPv6 de Windows (tcpip.sys). Découverte par KunLun Lab, cette faille est zero-click, c'est-à-dire qu'elle peut être déclenchée par des paquets spécialement conçus sans interaction de l'utilisateur.
Contexte académique : Projet final du cours « Foundations of Network Security ».
et la documentation complète du cours ainsi que les instructions du laboratoire.
Résumé technique
Le problème principal est un dépassement d'entier négatif (integer underflow) dans tcpip.sys lors de l'analyse des en-têtes d'extension IPv6 dans le trafic fragmenté.
Échec logique : la validation de la longueur de l'en-tête échoue lors du calcul.
Corruption mémoire : le dépassement entraîne un débordement de tampon (buffer overflow) et des écritures mémoire non sécurisées.
Impact : potentiel BSOD et RCE dans des conditions spécifiques.
Contenu du dépôt
CVE-2024-38063 Analysis.pdf — Diapositives couvrant le contexte, la cause racine et les mesures d'atténuation.
CVE-2024-38063.py — Script PoC basé sur Scapy (démontre le comportement de crash).
WriteUP.pdf — Rapport complet, exigences du laboratoire et notes d'exécution.
Configuration du laboratoire
Pour reproduire l'environnement dans un laboratoire éducatif contrôlé :
Victime : Windows 10/11 antérieur au correctif d'août 2024 / 24H2, IPv6 activé.
Attaquant : VM Linux avec Python 3, Scapy.
Réseau : connectivité IPv6 entre les deux machines sur le même segment réseau.
Logique du PoC (Haut niveau)
Le PoC construit une séquence de paquets pour déclencher le dépassement :
Options de destination avec un type d'option non reconnu pour emprunter les chemins de gestion d'erreurs.
Fragment 1 pour démarrer la fragmentation et fournir la charge utile.
Fragment 2 pour terminer la séquence.
Le script répète ces lots en faisant varier la limite de sauts (Hop Limit) pour augmenter la probabilité de rencontrer le chemin d'analyse vulnérable.
Utilisation
Identifiez l'adresse IPv6 cible.
Mettez à jour ip_addr et iface dans CVE-2024-38063.py.
Si la cible est vulnérable, un BSOD se produit généralement dans les 30 à 60 secondes lorsque le noyau traite des en-têtes malformés.
Atténuation
Appliquer les mises à jour de sécurité : correctif Microsoft (13 août 2024).
Désactiver IPv6 si le correctif n'est pas possible.
Filtrage du pare-feu : bloquer les paquets IPv6 fragmentés en périphérie.
Avis de non-responsabilité
Ce projet est à des fins éducatives et de recherche uniquement. Tester ou accéder sans autorisation à des systèmes dont vous n'êtes pas propriétaire ou pour lesquels vous n'avez pas d'autorisation explicite est illégal. Les auteurs déclinent toute responsabilité en cas d'utilisation abusive.