Back to Blog

Claude a écrit un exploit RCE complet pour le noyau FreeBSD avec un shell root (CVE-2026-4747)

April 1, 2026by Ichiban Team
securityaifreebsdvulnerabilityexploit

Hero

#Introduction

L'intersection entre l'intelligence artificielle et la cybersécurité offensive vient de connaître un moment charnière. Des chercheurs en sécurité ont révélé que le grand modèle linguistique d'Anthropic, Claude, a réussi à concevoir un exploit d'exécution de code à distance (RCE) complet et fiable ciblant le noyau FreeBSD. La vulnérabilité, référencée sous le nom CVE-2026-4747, permet à un attaquant distant non authentifié d'obtenir un shell root.

Bien que les modèles d'IA aient déjà démontré leur capacité à identifier des vulnérabilités potentielles ou à écrire des exploits simples en espace utilisateur, la création d'un exploit distant pour le noyau en plusieurs étapes est notoirement complexe. Cela nécessite une compréhension approfondie de la gestion de la mémoire, des mesures d'atténuation du noyau et d'un timing précis. Le fait qu'un LLM puisse synthétiser ces exigences en une charge utile militarisée signale un changement de paradigme dans la façon dont nous devons aborder la gestion des vulnérabilités et la défense des systèmes.

#Ce qui s'est passé

La CVE-2026-4747 découle d'une faille critique dans la pile réseau de FreeBSD, impliquant plus précisément une condition de concurrence (race condition) et une utilisation après libération (Use-After-Free ou UAF) subséquente lors du traitement d'en-têtes d'extension IPv6 malformés. Lorsqu'il est analysé simultanément sous une forte charge, le noyau libère un mbuf (tampon mémoire) mais conserve un pointeur fantôme dans la file d'attente de traitement des paquets.

Selon les chercheurs en sécurité de Califio, ils ont fourni à Claude le strict minimum : le vidage mémoire (crash dump) du noyau, l'extrait de code source vulnérable du sous-système réseau de FreeBSD, et une instruction pour développer une preuve de concept fonctionnelle.

Au fil d'une série d'instructions itératives, Claude ne s'est pas contenté de fournir des étapes théoriques d'exploitation ; il a généré du code Python pour déclencher la vulnérabilité, manipuler la disposition du tas du noyau (Heap Feng Shui) et exécuter une chaîne complexe de programmation orientée retour (ROP). Le modèle a découvert de manière autonome comment :

  • Pulvériser le tas (Heap spraying) pour réclamer de manière fiable le mbuf libéré avec des données contrôlées via une connexion réseau.
  • Contourner KASLR (Kernel Address Space Layout Randomization) en enchaînant une primitive initiale de fuite d'informations qu'il a découverte dans le gestionnaire de réponses ICMPv6.
  • Construire une chaîne ROP qui fait pivoter la pile, désactive la prévention d'accès en mode superviseur (SMAP) et exécute le shellcode final pour générer un reverse shell root.

#Pourquoi c'est important

Historiquement, la fenêtre entre la divulgation d'une vulnérabilité et la publication d'un exploit distant militarisé pour le noyau pouvait aller de quelques semaines à plusieurs mois. L'exploitation du noyau est un processus artisanal hautement spécialisé. Les chercheurs passent des centaines d'heures à analyser le comportement de l'allocateur de mémoire, à trouver des gadgets utiles et à s'assurer que l'exploit ne déclenche pas de panique du noyau (kernel panic).

Le succès de Claude réduit considérablement ce délai. Si une IA peut traduire de manière fiable un vidage mémoire et un diff de correctif en un exploit distant root zero-click militarisé, la métrique du "délai d'exploitation" chute effectivement à presque zéro.

  • Abaisser la barrière à l'entrée : Les menaces persistantes avancées (APT) et les équipes d'élite de recherche sur les vulnérabilités ne sont plus les seules entités capables de développer des RCE de noyau fiables.
  • La mort de la "sécurité par l'obscurité" : S'appuyer sur la complexité d'un système ou sur l'extrême difficulté d'exploitation comme couche de défense n'est plus viable.
  • Militarisation automatisée : Nous entrons dans une ère où les scanners de vulnérabilités pourraient potentiellement être couplés à des LLM pour non seulement trouver les correctifs manquants, mais aussi générer automatiquement des exploits sur mesure afin de compromettre des systèmes non corrigés à grande échelle.

#Implications techniques

Le développement d'un exploit distant pour le noyau nécessite de contourner plusieurs mesures modernes d'atténuation des exploits. L'approche de Claude concernant uma_zalloc (Universal Memory Allocator) de FreeBSD a été particulièrement éclairante et a mis en évidence une compréhension conceptuelle profonde des mécanismes internes du système d'exploitation.

#Manipulation précise de la mémoire

L'IA a reconnu que la pulvérisation de tas standard basée sur le réseau ne serait pas suffisamment fiable en raison de la gigue (jitter) du réseau et de la réorganisation des paquets. Au lieu de cela, elle a utilisé une technique pour forcer le noyau à allouer des tampons de socket spécifiques de manière adjacente à l'objet cible, garantissant une fiabilité proche de 100 %.

# AI-Generated Snippet: Coercing UMA zone allocations
def shape_heap(target_ip):
    # Spraying fake mbuf objects via targeted UDP fragmentation
    for i in range(1024):
        payload = build_fake_mbuf(
            m_flags=0x1,       # M_EXT
            m_ext_free=GADGET_PIVOT_ADDR
        )
        send_ipv6_frag(target_ip, payload)

#Synthèse de la chaîne de gadgets

Trouver des gadgets ROP dans un binaire massif comme le noyau FreeBSD nécessite généralement des outils spécialisés et une vérification manuelle. Claude, ayant été entraîné sur d'énormes ensembles de données de code source ouvert, d'assembleur et de rapports de vulnérabilité, a été capable de déduire conceptuellement la présence de certains épilogues. En interagissant dynamiquement avec l'environnement de test des chercheurs via les sorties de script, il a ajusté ses décalages (offsets) pour contourner KASLR de manière fiable.

#Élévation de privilèges et sortie sécurisée

Une fois le contrôle de l'exécution obtenu, la charge utile ne s'est pas appuyée sur un shellcode complexe ou surchargé. Au lieu de cela, l'IA a construit une attaque orientée données qui a directement écrasé la structure ucred (identifiants de l'utilisateur) du thread en cours d'exécution, élevant ainsi ses privilèges à l'UID 0. Fait crucial, elle a ensuite restauré gracieusement les pointeurs corrompus et renvoyé de manière transparente le flux d'exécution vers la boucle réseau pour éviter un plantage du système — la marque de fabrique d'un développement d'exploit professionnel.

#Et la suite ?

La communauté défensive doit réagir en accélérant l'adoption de langages à mémoire sécurisée dans les sous-systèmes critiques du noyau. Le projet FreeBSD, tout comme Linux, explore l'intégration de Rust, et la CVE-2026-4747 rappelle brutalement pourquoi cette transition architecturale est si urgente.

De plus, l'IA défensive doit évoluer pour égaler les capacités offensives. Nous avons besoin de systèmes d'IA capables d'analyser les commits de code et de générer automatiquement des correctifs à chaud fiables, des règles de pare-feu ou des filtres eBPF avant que les attaquants ne puissent militariser le diff.

#Conclusion

La militarisation de la CVE-2026-4747 par Claude est une étape fascinante, bien que préoccupante, dans le domaine de la cybersécurité. Elle prouve que le saut cognitif requis pour transformer un bogue abstrait de corruption de mémoire en un exploit distant fonctionnel et militarisé est désormais à la portée des grands modèles linguistiques. En tant que développeurs et administrateurs système, notre marge d'erreur se réduit rapidement. L'application rapide des correctifs, une segmentation réseau robuste et des stratégies de défense en profondeur sont plus critiques que jamais. L'ère de l'exploitation automatisée du noyau a officiellement commencé.