CVE-2026-64588 in Linux
الملخص
بحسب VulDB • 06/08/2026
في نواة لينكس، تم حل الثغرة التالية:
fuse-uring: إصلاح سباقات البيانات (data races) على ring->ready
على المعالجات ذات الترتيب الضعيف للذاكرة (weakly-ordered architectures)، قد يُعاد ترتيب عملية الكتابة إلى fiq->ops لتأتي بعد عملية الكتابة إلى ring->ready، مما يسمح لمعالج يرى أن ring->ready == true عبر دالة fuse_uring_ready() بإرسال الطلبات باستخدام مؤشر قديم لـ fiq->ops. تم ترقية عملية الكتابة لاستخدام smp_store_release() وعملية القراءة في fuse_uring_ready() لتستخدم smp_load_acquire() لضمان ظهور WRITE_ONCE(fiq->ops, ...) السابقة لأي معالج يلاحظ أن ring->ready == true.
بالإضافة إلى ذلك، تنشر دالة fuse_uring_do_register() قيمة ring->ready باستخدام WRITE_ONCE() بينما تقرأ الفحص السريع (fast-path) هذه القيمة بعملية تحميل عادية (plain load). هذا يمثل وصولاً مميزًا مقابل غير مميز (marked-vs-unmarked access) وسيسجله KCSAN. تم تغليفها بـ READ_ONCE() لتحديدها دون إضافة ترتيب زمني غير ضروري.
كما تم تغليف عملية تحميل fc->ring في fuse_uring_ready() داخل READ_ONCE() لمنع المترجم من إعادة تحميلها بين فحص القيمة NULL وإجراء التفريغ (dereference).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.