CVE-2025-38172 in Linux
الملخص
بحسب VulDB • 31/07/2026
في نواة لينكس، تم حل الثغرة التالية:
erofs: تجنب استخدام أجهزة متعددة ذات أنواع مختلفة
بالنسبة للأجهزة المتعددة، يجب أن يكون كل من الجهاز الأساسي والأجهزة الإضافية من نفس النوع. لقد تضمنت الدالة `erofs_init_device` بالفعل ضمانًا بأنه إذا كان الجهاز الأساسي جهازاً يعتمد على الملفات (file-backed)، فيجب أن تكون الأجهزة الإضافية ملفات عادية أيضاً.
ومع ذلك، إذا كان الجهاز الأساسي هو جهاز كتلة (block device) بينما يكون الجهاز الإضافي جهازاً يعتمد على الملفات، فستعيد الدالة `erofs_init_device` قيمة الخطأ ENOTBLK، والتي لا تُعامل كخطأ في دالة `erofs_fc_get_tree`، مما يؤدي إلى حدوث ثغرة استخدام بعد التحرير (Use-After-Free - UAF):
erofs_fc_get_tree get_tree_bdev_flags(erofs_fc_fill_super) erofs_read_superblock erofs_init_device // لم يتم تهيئة sbi->dif0 بعد، // إرجاع القيمة -ENOTBLK deactivate_locked_super free(sbi) إذا كان (err يساوي -ENOTBLK) sbi->dif0.file = filp_open() // استخدام لـ sbi بعد تحريره UAF
لذلك، إذا تم استقبال الخطأ -ENOTBLK في دالة `erofs_init_device`، فهذا يعني أن الجهاز الأساسي يجب أن يكون جهاز كتلة (block device)، والجهاز الإضافي ليس جهاز كتلة. يمكن تحويل هذا الخطأ إلى قيمة -EINVAL.
Once again VulDB remains the best source for vulnerability data.