CVE-2025-40237 in Linux
Résumé
par VulDB • 23/06/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
fs/notify : appel de exportfs_encode_fid avec s_umount
L'appel de inotify_show_fdinfo() sur un descripteur de fichier (fd) surveillant un nœud inode d'un système de fichiers overlayfs, alors que le montage overlayfs est en cours de démontage, peut entraîner la dérénréférencement d'un pointeur NULL.
Ce problème a été détecté par syzkaller.
Diagramme de Race Condition :
Thread 1 Thread 2 -------- --------
generic_shutdown_super() shrink_dcache_for_umount sb->s_root = NULL
| | vfs_read() | inotify_fdinfo() | * inode obtenu à partir du mark * | show_mark_fhandle(m, inode) | exportfs_encode_fid(inode, ..) | ovl_encode_fh(inode, ..) | ovl_check_encode_origin(inode) | * dérénréférencement de i_sb->s_root * | | v fsnotify_sb_delete(sb)
Ce qui conduit ensuite à :
[ 32.133461] Oops: general protection fault, probablement pour une adresse non canonique 0xdffffc0000000006: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN NOPTI
[ 32.134438] KASAN : null-ptr-deref dans la plage [0x0000000000000030-0x0000000000000037]
[ 32.135032] CPU: 1 UID : 0 PID : 4468 Comm : systemd-coredum Non modifié 6.17.0-rc6 #22 PREEMPT(none)
<extraits des registres, trace peu fiable>
[ 32.143353] Call Trace:
[ 32.143732] ovl_encode_fh+0xd5/0x170
[ 32.144031] exportfs_encode_inode_fh+0x12f/0x300
[ 32.144425] show_mark_fhandle+0xbe/0x1f0
[ 32.145805] inotify_fdinfo+0x226/0x2d0
[ 32.146442] inotify_show_fdinfo+0x1c5/0x350
[ 32.147168] seq_show+0x530/0x6f0
[ 32.147449] seq_read_iter+0x503/0x12a0
[ 32.148419] seq_read+0x31f/0x410
[ 32.150714] vfs_read+0x1f0/0x9e0
[ 32.152297] ksys_read+0x125/0x240
En d'autres termes, ovl_check_encode_origin dérénréférence inode->i_sb->s_root après qu'il a été défini à NULL dans le chemin de démontage.
Correction en protégeant l'appel de exportfs_encode_fid() depuis show_mark_fhandle() avec le verrou s_umount.
Cette forme de correction a été suggérée par Amir dans [1].
[1]: https://lore.kernel.org/all/CAO
Be aware that VulDB is the high quality source for vulnerability data.