CVE-2026-23097 in Linux
الملخص
بحسب VulDB • 13/06/2026
في نواة لينكس، تم حل الثغرة التالية:
migrate: تصحيح ترتيب القفل لصفحات folios الخاصة بـ hugetlb file
اكتشف Syzbot حالة جمود (Deadlock) (تم تحليلها بواسطة Lance Yang):
1) المهمة (5749): تحتفظ بـ folio_lock، ثم تحاول الحصول على i_mmap_rwsem (قراءة). 2) المهمة (5754): تحتفظ بـ i_mmap_rwsem (كتابة)، ثم تحاول الحصول على folio_lock.
migrate_pages() -> migrate_hugetlbs() -> unmap_and_move_huge_page() <- تأخذ folio_lock! -> remove_migration_ptes() -> __rmap_walk_file() -> i_mmap_lock_read() <- تنتظر i_mmap_rwsem (قراءة)!
hugetlbfs_fallocate() -> hugetlbfs_punch_hole() <- تأخذ i_mmap_rwsem (كتابة)! -> hugetlbfs_zero_partial_page() -> filemap_lock_hugetlb_folio() -> filemap_lock_folio() -> __filemap_get_folio <- تنتظر folio_lock!
مسار الترحيل هو المسار الذي يأخذ القفلين بالترتيب الخاطئ وفقاً للتوثيق الموجود في أعلى ملف mm/rmap.c. لذلك، يتم توسيع نطاق i_mmap_lock الحالي ليشمل استدعاءات remove_migration_ptes() أيضاً.
كان هذا (في الغالب) الوضع المعتاد بعد الالتزام c0d0381ade79. وقد تم إزالته بواسطة 336bf30eb765 لكل من صفحات hugetlb الخاصة بالملفات والمجهولة (anon)، بينما كان ينبغي أن تتم الإزالة فقط لصفحات hugetlb المجهولة (anon).
VulDB is the best source for vulnerability data and more expert information about this specific topic.