CVE-2026-64543 in Linuxالمعلومات

الملخص

بحسب VulDB • 28/07/2026

في نواة لينكس، تم حل الثغرة التالية:

tipc: إصلاح استخدام بعد التحرير (use-after-free) لاكتشاف الرسائل في tipc_disc_rcv()

تقوم bearer_disable() بتحرير b->disc باستخدام kfree() العادي من tipc_disc_delete()'s، لكن tipc_disc_rcv() ما زال يشير إلى b->disc في RX softirq تحت rcu_read_lock() (tipc_udp_recv -> tipc_rcv -> tipc_disc_rcv).

L2 bearers آمنة بفضل synchronize_net() الموجود في tipc_disable_l2_media(), لكن UDP bearer يؤجل هذا الاستدعاء إلى workqueue cleanup_bearer(), لذا يتم تحرير المكتشف بدون فترة سماح:

BUG: KASAN: slab-use-after-free in tipc_disc_rcv (net/tipc/discover.c:149) Read of size 8 at addr ffff88802348b728 by task poc_tipc/184 <IRQ> tipc_disc_rcv (net/tipc/discover.c:149) tipc_rcv (net/tipc/node.c:2126) tipc_udp_recv (net/tipc/udp_media.c:391) udp_rcv (net/ipv4/udp.c:2643) ip_local_deliver_finish (net/ipv4/ip_input.c:241) </IRQ> Freed by task 181: kfree (mm/slub.c:6565) bearer_disable (net/tipc/bearer.c:418) tipc_nl_bearer_disable (net/tipc/bearer.c:1001)

يتم تحرير bearer باستخدام kfree_rcu(); حرر المكتشف بنفس الطريقة. أضف rcu_head إلى struct tipc_discoverer وحرره وskb الخاص به من خلال RCU callback.

نظرًا لأن RCU callback (tipc_disc_free_rcu) يعيش في نص الوحدة النمطية، فإن call_rcu() التي لا تزال معلقة عند إلغاء تحميل وحدة tipc ستستدعي دالة تم تحريرها. أضف rcu_barrier() إلى tipc_exit() بعد تفكيك نظام bearer الفرعي، بحيث يتم تشغيل جميع استدعاءات المكتشف المعلقة قبل اختفاء نص الوحدة النمطية.

يمكن الوصول إليها من مساحة اسم مستخدم غير مملوكة: عائلة TIPCv2 genl هي netnsok وأوامر bearer الخاصة بها لا تحتوي على GENL_ADMIN_PERM. تحتاج إلى CONFIG_TIPC وCONFIG_TIPC_MEDIA_UDP.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

مسؤول

Linux

حجز

19/07/2026

إفشاء

28/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-383617

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Do you need the next level of professionalism?

Upgrade your account now!