FreeBSD : RCE du noyau via débordement de pile dans kgssapi.ko (CVE-2026-4747)

Détails de la vulnérabilité
La vulnérabilité se trouve dans sys/rpc/rpcsec_gss/svc_rpcsec_gss.c au sein de la fonction svc_rpc_gss_validate(). Un tampon de pile de 128 octets (rpchdr[]) est utilisé pour reconstruire les en-têtes RPC pour la vérification de signature GSS-API. Après avoir écrit 32 octets de champs d'en-tête RPC fixes, la fonction copie l'intégralité du corps des informations d'identification RPCSEC_GSS (oa_length octets) dans l'espace restant sans vérification des limites.
static bool_t svc_rpc_gss_validate(...) {
int32_t rpchdr[128 / sizeof(int32_t)]; // 128 octets sur la pile
// ...
if (oa->oa_length) {
// BUG : Aucune vérification des limites sur oa_length !
// Après 32 octets d'en-tête, il ne reste que 96 octets dans rpchdr.
// Si oa_length > 96, cela déborde au-delà de rpchdr
memcpy((caddr_t)buf, oa->oa_base, oa->oa_length);
}
}
Surface d'attaque et impact
Le module vulnérable kgssapi.ko implémente l'authentification RPCSEC_GSS pour le sous-système RPC du noyau de FreeBSD. Le démon serveur NFS (nfsd) écoutant sur le port 2049/TCP traite les paquets RPC dans le contexte du noyau et utilise ce module lorsque l'authentification RPCSEC_GSS est activée. Une exploitation réussie entraîne une exécution de code à distance (RCE) dans le noyau avec des privilèges root (shell inverse uid 0).
Versions affectées
- FreeBSD 13.5 (<p11)
- FreeBSD 14.3 (<p10)
- FreeBSD 14.4 (<p1)
- FreeBSD 15.0 (<p5)
Le correctif
Le correctif pour FreeBSD 14.4-RELEASE-p1 ajoute une vérification des limites avant la copie :
if (oa->oa_length > sizeof(rpchdr) - 8 * BYTES_PER_XDR_UNIT) {
rpc_gss_log_debug("auth length %d exceeds maximum", oa->oa_length);
client->cl_state = CLIENT_STALE;
return (FALSE);
}
Analyse de la disposition de la pile
D'après le désassemblage de la fonction, le tableau rpchdr se trouve à [rbp-0xc0]. Le memcpy écrit à rpchdr + 32 = [rbp-0xa0]. Avec un descripteur de contexte de 16 octets dans le corps des informations d'identification, l'adresse de retour se trouve à l'octet 200 du corps des informations d'identification, permettant de contrôler le flux d'exécution.
📖 Lire la source complète : HN AI Agents
👀 See Also

Clawndom : Un crochet de sécurité pour Claude Code pour bloquer les paquets npm vulnérables
Un développeur a créé Clawndom, un crochet open-source pour Claude Code qui vérifie les packages npm dans la base de données de vulnérabilités OSV.dev avant l'installation, bloquant les packages vulnérables connus tout en préservant l'autonomie de l'agent.

OpenClaw 2026.3.28 corrige 8 vulnérabilités de sécurité, dont une critique d'élévation de privilèges.
OpenClaw 2026.3.28 corrige 8 vulnérabilités de sécurité découvertes par Ant AI Security Lab, notamment une élévation de privilèges critique via /pair approve et une fuite de bac à sable de haute gravité dans l'outil message.

L'outil Cloak remplace les mots de passe des chats par des liens autodestructeurs pour les agents OpenClaw.
Cloak est un outil open source qui remplace les mots de passe partagés dans les discussions avec les agents OpenClaw par des liens autodestructeurs. Chaque lien ne peut être ouvert qu'une seule fois, puis le mot de passe disparaît, empêchant ainsi l'accumulation de mots de passe dans les historiques de discussion.

Claude Code Découvre une Vulnérabilité du Noyau Linux Vieille de 23 Ans
Le chercheur d'Anthropic Nicholas Carlini a utilisé Claude Code pour découvrir plusieurs dépassements de tampon de tas exploitables à distance dans le noyau Linux, dont un qui était resté caché pendant 23 ans. L'IA a trouvé ces bogues avec une supervision minimale en analysant l'intégralité de l'arborescence des sources du noyau.