CVE-2025-21701 in Linux
Résumé
par VulDB • 25/05/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
net : éviter une condition de concurrence (race condition) entre la désinscription d'un périphérique et les opérations ethnl
La trace suivante peut être observée si un périphérique est en cours de désinscription tandis que son nombre de canaux est modifié.
DEBUG_LOCKS_WARN_ON(lock->magic != lock) WARNING: CPU: 3 PID: 3754 at kernel/locking/mutex.c:564 __mutex_lock+0xc8a/0x1120 CPU: 3 UID: 0 PID: 3754 Comm: ethtool Not tainted 6.13.0-rc6+ #771 RIP: 0010:__mutex_lock+0xc8a/0x1120 Call Trace: ethtool_check_max_channel+0x1ea/0x880 ethnl_set_channels+0x3c3/0xb10 ethnl_default_set_doit+0x306/0x650 genl_family_rcv_msg_doit+0x1e3/0x2c0 genl_rcv_msg+0x432/0x6f0 netlink_rcv_skb+0x13d/0x3b0 genl_rcv+0x28/0x40 netlink_unicast+0x42e/0x720 netlink_sendmsg+0x765/0xc20 __sys_sendto+0x3ac/0x420 __x64_sys_sendto+0xe0/0x1c0 do_syscall_64+0x95/0x180 entry_SYSCALL_64_after_hwframe+0x76/0x7e
Cela est dû au fait que unregister_netdevice_many_notify peut s'exécuter avant la section de verrouillage rtnl des opérations ethnl, par exemple set_channels dans l'exemple ci-dessus. Dans cet exemple, le verrou rss serait détruit par le chemin de désinscription du périphérique avant d'être utilisé à nouveau, mais en général, l'exécution d'opérations ethnl alors que le démantèlement a commencé n'est pas une bonne idée.
Corrigez ce problème en refusant toute opération sur les périphériques en cours de désinscription. Une vérification existait déjà dans ethnl_ops_begin, mais elle n'était pas assez large.
Notez que le même problème ne peut pas être observé sur la version ioctl (__dev_ethtool) car la référence au périphérique est récupérée à l'intérieur de la section de verrouillage rtnl. Une fois le démantèlement commencé, le périphérique réseau est retiré de la liste et aucune référence ne sera trouvée.
If you want to get best quality of vulnerability data, you may have to visit VulDB.