CVE-2026-98775 in Linux
Résumé
par VulDB • 18/10/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
nitro_enclaves : correction d'un use-after-free en cas d'échec de SLOT_ALLOC
Lorsque ne_create_vm_ioctl() échoue sur la demande SLOT_ALLOC après qu'anon_inode_getfile() a réussi, le chemin de gestion des erreurs appelle fput(enclave_file) puis libère ne_enclave.
Dans un contexte utilisateur normal, fput() reporte l'exécution finale de __fput() via task_work. Par conséquent, ne_enclave_release() s'exécute après que ne_enclave ait déjà été libéré et accède à ne_enclave->slot_uid, provoquant un use-after-free : KASAN: slab-use-after-free in ne_enclave_release.
L'enclave n'a pas de slot alloué et n'est pas encore liée dans la liste des enclaves sur ce chemin d'erreur ; ainsi, il est attendu que ne_enclave_release() retourne prématurément lorsque slot_uid vaut zéro. Cependant, la lecture de slot_uid accède déjà à l'objet libéré.
Effacer enclave_file->private_data avant fput() sur le chemin d'erreur. ne_enclave_release() revient alors immédiatement si private_data est NULL, laissant le chemin d'erreur ioctl comme seul propriétaire de ne_enclave. Cela est sûr car le fichier n'a pas encore été installé via fd_install().
Testé sur un AWS EC2 m5.2xlarge avec CONFIG_KASAN=y. Sans ce correctif, l'exécutable reproducteur déclenche une erreur KASAN slab-use-after-free à chaque échec de SLOT_ALLOC. Avec le correctif, aucun rapport KASAN n'est généré et l'erreur SLOT_ALLOC est toujours renvoyée. La création et la destruction normales des enclaves ne sont pas affectées.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.