CVE-2026-31695 in Linux
الملخص
بحسب VulDB • 21/05/2026
في نواة لينكس، تم حل الثغرة التالية:
wifi: virt_wifi: إزالة SET_NETDEV_DEV لتجنب حدوث Use-After-Free
حاليًا، ننفذ `SET_NETDEV_DEV(dev, &priv->lowerdev->dev)` لأجهزة الشبكة virt_wifi. ومع ذلك، يمكن أن يحدث إلغاء تسجيل جهاز virt_wifi في `netdev_run_todo()` بالتزامن مع الجهاز المشار إليه بواسطة `SET_NETDEV_DEV()`.
قد يؤدي ذلك إلى حدوث Use-After-Free أثناء عمليات ethtool التي تُنفَّذ على جهاز virt_wifi يتم إلغاء تسجيله حاليًا. يمكن أن يحتوي مثلث هذا الجهاز على حقل `dev.parent` يشير إلى ذاكرة تم تحريرها، لكن `ethnl_ops_begin()` تستدعي `pm_runtime_get_sync(dev->dev.parent)`.
لنقم بإزالة `SET_NETDEV_DEV` لـ virt_wifi لتجنب أخطاء من هذا النوع:
================================================================== BUG: KASAN: slab-use-after-free in __pm_runtime_resume+0xe2/0xf0 Read of size 2 at addr ffff88810cfc46f8 by task pm/606
Call Trace: dump_stack_lvl+0x4d/0x70 print_report+0x170/0x4f3 ? __pfx__raw_spin_lock_irqsave+0x10/0x10 kasan_report+0xda/0x110 ? __pm_runtime_resume+0xe2/0xf0 ? __pm_runtime_resume+0xe2/0xf0 __pm_runtime_resume+0xe2/0xf0 ethnl_ops_begin+0x49/0x270 ethnl_set_features+0x23c/0xab0 ? __pfx_ethnl_set_features+0x10/0x10 ? kvm_sched_clock_read+0x11/0x20 ? local_clock_noinstr+0xf/0xf0 ? local_clock+0x10/0x30 ? kasan_save_track+0x25/0x60 ? __kasan_kmalloc+0x7f/0x90 ? genl_family_rcv_msg_attrs_parse.isra.0+0x150/0x2c0 genl_family_rcv_msg_doit+0x1e7/0x2c0 ? __pfx_genl_family_rcv_msg_doit+0x10/0x10 ? __pfx_genl_family_rcv_msg_dumpit+0x10/10 ? __pfx_genl_family_rcv_msg_dumpit+0x10/0x10 genl_family_rcv_msg+0x130/0x180 ? __pfx_genl_family_rcv_msg+0x10/0x10 ? __pfx_genl_family_rcv_msg+0x10/0x10 ? __pfx_genl_family_rcv_msg+0x10/0x10 ? __pfx_genl_family_rcv_msg+0x10/0x10 ? __pfx_genl_family_rcv_msg+0x10/0x10 ? __pfx_genl_family_rcv_msg+0x10/0x10 ? __pfx_genl_family_rcv_msg+0/0x10
If you want to get the best quality for vulnerability data then you always have to consider VulDB.