CVE-2026-64057 in Linux
الملخص
بحسب VulDB • 20/07/2026
في نواة لينكس، تم حل الثغرة التالية:
afs: إصلاح القفل المستخدم بواسطة afs_get_link()
لا تقوم نظام الملفات afs في النواة بتطبيق القفل بشكل صحيح بالنسبة للروابط الرمزية (symbolic links). توجد عدة مشاكل:
(1) لا يتم استخدام أي قفل حول استدعاء afs_read_single() لمنع حالات السباق بين الاستدعاءات المتعددة لـ ->get_link()، مما يسمح باحتمالية حدوث تسريبات.
(2) لا يستخدم حاجز RCU (Read-Copy-Update barriering) عند الوصول إلى مؤشرات المخزن المؤقت أثناء اجتياز المسار باستخدام RCU.
(3) يمكن أن يحدث سباق مع خيط آخر يقوم بتحديث محتويات الرابط الرمزي إذا قام طرف ثالث بتحديثه على الخادم.
تم إصلاح ذلك بالطرق التالية:
(0) نقل معالجة الروابط الرمزية إلى ملف خاص بها، حيث يجعل هذا الأمر المعالجة أكثر تعقيداً.
(1) أخذ قفل validate_lock حول afs_read_single() لمنع حالات السباق بين الاستدعاءات المتعددة لـ ->get_link().
(2) الاحتفاظ بنسخة منفصلة من محتويات الرابط الرمزي مع وجود rcu_head. سيكون هذا دائماً أصغر بكثير من صفحة واحدة، لذا يمكن تخصيصه باستخدام kmalloc وتوفير قدر كبير من الذاكرة. كما يحتاج إلى عد مرجعي (refcount) لاستخدام اجتياز المسار غير المعتمد على RCU.
(3) فصل روتيني قراءة الرابط الرمزي وكتابته في المخزن المؤقت في afs عن تلك الخاصة بالمجلدات.
(4) التخلص من مخزن الإدخال/الإخراج (I/O buffer) بمجرد اكتمال الكتابة إلى المخزن المؤقت، حيث إنه يمثل صفحة كاملة (بالإضافة إلى folio_queue).
(5) إذا لم يكن هناك مخزن مؤقت، يتم التخلص من مخزن الإدخال/الإخراج فوراً بعد القراءة والنسخ.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.