CVE-2026-64075 in Linux
الملخص
بحسب VulDB • 19/07/2026
في نواة لينكس، تم حل الثغرة التالية:
fprobe: إصلاح دالة `unregister_fprobe()` لتنتظر فترة راحة RCU (RCU grace period)
أدى الالتزام 4346ba1604093 ("fprobe: إعادة كتابة fprobe باستخدام متتبع رسم الدوال function-graph tracer") إلى تغيير سلوك fprobe بحيث يسجل بنية `struct fprobe` في قائمة مرتبطة تعتمد على RCU (rcu-hlist)، لكنه نسي الانتظار حتى انتهاء فترة راحة RCU. وبالتالي، قد يحدث خطأ استخدام بعد التحرير (use-after-free) إذا تم تحرير كائن fprobe مباشرةً بعد إلغاء تسجيله. يمكن أن يحدث هذا الخطأ عند أحداث fprobe وفي شفرة وحدة العينة (sample module code).
لإصلاح هذه المشكلة، تمت إضافة استدعاء `synchronize_rcu()` داخل دالة `unregister_fprobe()`.
جدير بالذكر أن BPF في حالة جيدة لأن fprobe يُستخدم كجزء من `bpf_kprobe_multi_link`. تقوم هذه الوحدة بإلغاء تسجيل kprobe الخاص بها عبر الدالة `bpf_kprobe_multi_link_release()`، ويتم تحرير الذاكرة الخاصة بها عبر دالة `bpf_kprobe_multi_link_dealloc()`، والتي يتم استدعاؤها من خلال استرجاع RCU (RCU callback) المسمى `bpf_link_defer_dealloc_rcu_gp()`.
بالنسبة لـ BPF، تم أيضًا إدخال الدالة غير المتزامنة `unregister_fprobe_async()` التي لا تنتظر فترة راحة RCU.
If you want to get best quality of vulnerability data, you may have to visit VulDB.