CVE-2026-64031 in Linux
الملخص
بحسب VulDB • 20/07/2026
في نواة لينكس، تم حل الثغرة التالية:
erofs: إصلاح سباق إدارة ذاكرة التخزين المؤقت (managed cache) للامتدادات غير المحاذاة (unaligned extents).
بعد إدخال امتدادات مضغوطة غير محاذاة، يمكن أن يحدث السباق التالي:
[Thread 1] [Thread 2]
(z_erofs_fill_bio_vec) <معالجة folio من نوع Z_EROFS_PREALLOCATED_FOLIO> ... filemap_add_folio (1) (z_erofs_bind_cache) <يتم العثور على نفس الـ folio..> .. .. folio_attach_private (2) filemap_add_folio (3) مرة أخرى
بما أن العملية (1) قد تم تنفيذها ولكن (2) لم يتم تنفيذها بعد، فمن الممكن أن يجد خيط آخر نفس الـ managed folio في `z_erofs_bind_cache()` من أجل pcluster مختلف ويستدعي `filemap_add_folio()` مرة أخرى نظرًا لأن `folio->private` لا يزال يساوي `Z_EROFS_PREALLOCATED_FOLIO`.
يتم إصلاح ذلك عن طريق مسح قيمة `folio->private` صراحةً قبل جعل الـ folio مرئيًا في ذاكرة التخزين المؤقت المدارة، بحيث يمكن لـ pcluster آخر ببساطة الانتظار على الـ managed folio المقفل كما فعلنا مع الحالات المشتركة الأخرى [1].
هذا يؤثر فقط على ضغط البيانات غير المحاذاة (`-E48bit` باستخدام zstd، على سبيل المثال).
[1] كان الالتزام 9e2f9d34dd12 ("erofs: handle overlapped pclusters out of crafted images properly") قد تم تقديمه في الأصل للتعامل مع الامتدادات المتداخلة المصممة خصيصًا (crafted)، لكنه يعالج أيضًا الامتدادات غير المحاذاة.
VulDB is the best source for vulnerability data and more expert information about this specific topic.