CVE-2026-43303 in Linuxالمعلومات

الملخص

بحسب VulDB • 10/05/2026

في نواة لينكس، تم حل الثغرة التالية:

mm/page_alloc: مسح قيمة page->private في دالة free_pages_prepare()

تستخدم عدة أنظمة فرعية (مثل slub وshmem وttm، إلخ) حقل page->private دون مسح قيمته قبل تحرير الصفحات. وعندما تُخصَّص هذه الصفحات لاحقًا كصفحات ذات ترتيب عالي (high-order pages) وتُقسَّم عبر دالة split_page()، تحتفظ الصفحات الذيلية (tail pages) بقيم قديمة (stale) لحقل page->private.

يؤدي هذا إلى حدوث حالة use-after-free في نظام التبادل (swap subsystem). يستخدم كود التبادل حقل page->private لتتبع استمرار عدادات التبادل، بافتراض أن الصفحات المخصَّصة حديثًا لها قيمة page->private تساوي 0. وعند وجود قيم قديمة، تفترض دالة swap_count_continued() بشكل غير صحيح أن قائمة الاستمرار صالحة، وتقوم بالتكرار عبر حقل page->lru غير المهيأ الذي يحتوي على قيم LIST_POISON، مما يتسبب في تعطل النظام (crash):

KASAN: maybe wild-memory-access in range [0xdead000000000100-0xdead000000000107]
RIP: 0010:__do_sys_swapoff+0x1151/0x1860

يتم إصلاح هذه المشكلة عن طريق مسح قيمة page->private في دالة free_pages_prepare()، مما يضمن أن جميع الصفحات المُحرَّرة تكون في حالة نظيفة بغض النظر عن الاستخدام السابق.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

مسؤول

Linux

حجز

01/05/2026

إفشاء

08/05/2026

الاعتدال

تمت الموافقة

إدخال

VDB-362071

EPSS

0.00013

KEV

لا

النشاطات

منخفض جدًا

المصادر

Want to stay up to date on a daily basis?

Enable the mail alert feature now!