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

الملخص

بحسب VulDB • 15/05/2026

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

mm: memfd_luo: جعل جميع folios متسخة (dirty) دائمًا

الفوليو المتسخ (dirty folio) هو الذي تمت كتابته. والفوليو النظيف (clean folio) هو العكس. وبما أن الفوليو النظيف لا يحتوي على بيانات مستخدم، يمكن تحريره تحت ضغط الذاكرة.

يؤدي الحفاظ على memfd مع LUO إلى حفظ العلم (flag) عند استدعاء preserve(). وهذا يسبب مشكلة. فقد يتم جعل الفوليو متسخًا لاحقًا. كما أن حفظه عند استدعاء freeze() لا يعمل أيضًا، لأن بت الاتساخ (dirty bit) من PTE يتم مزامنته عادةً عند إلغاء التصحيح (unmap)، وقد لا تزال هناك mappings للملف عند استدعاء freeze().

لرؤية سبب كون هذه المشكلة خطيرة، لنفترض أن فوليوًا كان نظيفًا عند preserve، لكنه أصبح متسخًا لاحقًا. ستشير الحالة المُسجَّلة (serialized state) للفوليو إلى أنه نظيف. بعد الاسترجاع (retrieve)، سترى النواة التالية الفوليو على أنه نظيف وقد تحاول استعادته (reclaim) تحت ضغط الذاكرة. سيؤدي ذلك إلى فقدان بيانات المستخدم.

علّم جميع folios الخاصة بالملف على أنها متسخة، وقم دائمًا بتعيين علم MEMFD_LUO_FOLIO_DIRTY. يأتي هذا مع تأثير جانبي يتمثل في جعل جميع folios النظيفة غير قابلة للاستعادة (un-reclaimable). هذه تكلفة يجب دفعها من قبل المشاركين في التحديث المباشر (live update). ولا يُتوقع أن يكون الحفاظ على عدد كبير من folios النظيفة حالة استخدام شائعة على أي حال.

بما أن قيمة pfolio->flags أصبحت ثابتة الآن، فقم بإزالة متغير flags وقم بتعيينه مباشرة.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

Linux

حجز

01/05/2026

إفشاء

08/05/2026

الاعتدال

تمت الموافقة

إدخال

VDB-362236

EPSS

0.00014

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!