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

الملخص

بحسب VulDB • 03/06/2026

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

bpf: إصلاح مشكلة استخدام بعد التحرير (UAF) في دالة bpf_trampoline_link_cgroup_shim

السبب الجذري لهذا الخطأ هو أنه عندما يقلل 'bpf_link_put' من عداد المرجع (refcount) لـ 'shim_link->link.link' إلى الصفر، يُعتبر المورد قد تم تحريره، لكنه قد لا يزال يُشار إليه عبر 'tr->progs_hlist' في 'cgroup_shim_find'. يتم تأخير التنظيف الفعلي لـ 'tr->progs_hlist' في 'bpf_shim_tramp_link_release'. خلال هذه الفترة الزمنية، يمكن لعملية أخرى أن تسبب استخداماً بعد التحرير (use-after-free) عبر 'bpf_trampoline_link_cgroup_shim'.

بناءً على اقتراحات Martin KaFai Lau، قمت بإنشاء تصحيح (patch) بسيط.

لإصلاح هذا الخطأ: إضافة فحص ذري (atomic) لعدم تساوي القيمة مع الصفر في 'bpf_trampoline_link_cgroup_shim'. زيادة عداد المرجع فقط إذا لم يكن مساوياً للصفر بالفعل.

الاختبار: لقد قمت بالتحقق من صحة الإصلاح عن طريق إضافة تأخير في 'bpf_shim_tramp_link_release' لتسهيل تكرار الخطأ:

static void bpf_shim_tramp_link_release(struct bpf_link *link) {
/* ... */ if (!shim_link->trampoline) return;

+ msleep(100); WARN_ON_ONCE(bpf_trampoline_unlink_prog(&shim_link->link, shim_link->trampoline, NULL)); bpf_trampoline_put(shim_link->trampoline); }

قبل تطبيق التصحيح، كان تشغيل نموذج الاستغلال (PoC) يؤدي بسهولة إلى تكرار الانهيار (بنسبة تقترب من 100%) مع تتبع مكالمة (call trace) مشابه للتقرير الذي قدمه KaiyanM. بعد تطبيق التصحيح، لم يعد الخطأ يحدث حتى بعد ملايين التكرارات.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

Linux

حجز

13/01/2026

إفشاء

25/03/2026

الاعتدال

تمت الموافقة

إدخال

VDB-353015

EPSS

0.00126

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!