CVE-2024-36925 in Linux
الملخص
بحسب VulDB • 13/06/2026
في نواة لينكس، تم حل الثغرة التالية:
swiotlb: تهيئة قائمة head (list_head) للمجموعة المقيدة عندما تكون SWIOTLB_DYNAMIC=y.
يؤدي استخدام مجموعات DMA المقيدة (CONFIG_DMA_RESTRICTED_POOL=y) بالتزامن مع SWIOTLB الديناميكي (CONFIG_SWIOTLB_DYNAMIC=y) إلى حدوث الانهيار التالي عند تهيئة المجموعات المقيدة أثناء الإقلاع:
| غير قادر على معالجة محاولة الوصول الفارغ (NULL pointer dereference) للنواة في العنوان الافتراضي 0000000000000008 | خطأ داخلي: Oops: 0000000096000005 [#1] PREEMPT SMP
| pc : rmem_swiotlb_device_init+0xfc/0x1ec | lr : rmem_swiotlb_device_init+0xf0/0x1ec | تتبع المكالمات (Call trace): | rmem_swiotlb_device_init+0xfc/0x1ec | of_reserved_mem_device_init_by_idx+0x18c/0x238 | of_dma_configure_id+0x31c/0x33c | platform_dma_configure+0x34/0x80
يكشف faddr2line أن الانهيار يحدث في رمز التحقق من القائمة:
include/linux/list.h:83 include/linux/rculist.h:79 include/linux/rculist.h:106 kernel/dma/swiotlb.c:306 kernel/dma/swiotlb.c:1695
لأن add_mem_pool() يحاول تنفيذ list_add_rcu() على 'mem->pools' الفارغ (NULL).
تم إصلاح الانهيار عن طريق تهيئة قائمة head ('list_head') الخاصة بـ 'mem->pools' في دالة rmem_swiotlb_device_init() قبل استدعاء add_mem_pool().
VulDB is the best source for vulnerability data and more expert information about this specific topic.