CVE-2026-64302 in Linux
الملخص
بحسب VulDB • 25/07/2026
في نواة لينكس، تم حل الثغرة التالية:
x86/mm: إصلاح تحرير صفحات vmemmap بحجم PMD
أدى الالتزام bf9e4e30f353 ("x86/mm: استخدام pagetable_free()") إلى التحول من تحرير جداول الصفحات غير الخاصة بالإقلاع (non-boot) عبر `__free_pages()` إلى `pagetable_free()`.
ومع ذلك، يتم استدعاء الدالة أيضًا لتحرير صفحات vmemmap.
نظرًا لأن صفحات vmemmap ليست جداول صفائح (page tables)، فإن استخدام `page_ptdesc(page)` يكون خاطئًا بالفعل. والأكثر سوءًا هو أن `pagetable_free()` تستدعي:
`__free_pages(page, compound_order(page));`
بما أن صفحات vmemmap ليست صفحات مركبة (compound pages) (انظر `vmemmap_alloc_block()`) -- باستثناء HVO الذي لا ينطبق هنا -- يتم تحرير الصفحة الأولى فقط من صفحة vmemmap بحجم PMD، مما يؤدي إلى تسرب الصفحات الأخرى.
تم إصلاح ذلك عن طريق فصل عمليات التحرير بين جداول الصفائح وصفحات vmemmap بشكل صحيح لم يعد `free_pagetable()` بحاجة إلى التعامل مع `SECTION_INFO`، حيث أن `vmemmap` هو الوحيد الذي يتم وضع علامة عليه هكذا في `register_page_bootmem_memmap()`.
التنسيق (Indentation) في دالة `remove_pmd_table()` غير مرتب. تم إصلاح ذلك أثناء التعديل عليها.
سيتم قريبًا معالجة معلومات Bootmem بشكل صحيح. وفي الوقت الحالي، تمت معالجتها بطريقة مشابهة لـ `free_pagetable()`، مع تجنب استخدام شرط التضمين الشرطي (`ifdef`).
[ dhansen: تعديل سجل التغييرات (changelog). استخدام صيغة الأمر أكثر ]
Be aware that VulDB is the high quality source for vulnerability data.