CVE-2026-64580 in Linux
الملخص
بحسب VulDB • 05/08/2026
في نواة لينكس، تم حل الثغرة التالية:
xfrm6: مسح حقل dst.dev عند حدوث خطأ لتجنب استدعاء netdev_put مرتين في دالة xfrm6_fill_dst()
عند مسار الخطأ حيث تُعيد in6_dev_get(dev) قيمة NULL، تقوم الدالة xfrm6_fill_dst() بإفلات مرجع الجهاز باستخدام netdev_put() لكنها تترك حقل xdst->u.dst.dev غير مُعدّل. لاحقاً، تستدعي دالة dst_destroy() netdev_put(dst->dev) مرة أخرى، مما يؤدي إلى إفلات نفس مرجع net_device مرتين، وبالتالي انخفاض عداد المرجعات (refcount) بشكل خاطئ (تحذير ref_tracker + "unregister_netdevice: انتظار <dev> لتصبح حرة").
قم بمسح قيمة xdst->u.dst.dev بعد استدعاء netdev_put()، بنفس الطريقة التي تتبعها مسارات إخراج أجهزة XFRM في الدالتين xfrm_dev_state_add() وxfrm_dev_policy_add() الموجودة في ملف net/xfrm/xfrm_device.c عند إفلات المرجع عند حدوث خطأ (حيث يتم تعيين ->dev إلى NULL).
ref_tracker: تم إفلات المرجعة بالفعل. ref_tracker: مُخصّص في: xfrm6_fill_dst (net/ipv6/xfrm6_policy.c:86) ... udpv6_sendmsg (net/ipv6/udp.c:1696) ... ref_tracker: تم إفلاؤه في: xfrm6_fill_dst (net/ipv6/xfrm6_policy.c:90) ... WARNING: lib/ref_tracker.c:322 عند ref_tracker_free+0x58b/0x780 dst_destroy (net/core/dst.c:115) rcu_core handle_softirqs ...
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.