PT-2025-3608
CVE-2024-57883
·
تاريخ النشر
2024-12-16
·
تاريخ التحديث
2026-10-18
الوصف من
CVSS 3.1
7.8
عاليةالمقاييسAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
اسم البرنامج المعرض للثغرة والإصدارات المتأثرة
إصدارات نواة لينكس الأقدم من 6.13.0-rc2master+
الوصف
تتعلق المشكلة بمعالجة جداول الصفحات الضخمة (huge pages) بواسطة نواة لينكس. يمكن زيادة عدد المراجع (refcount) للصفحة بشكل غير متوقع عبر
try get folio() بواسطة دالات مثل split huge pages(). وقد يتسبب ذلك في حدوث تسرب في جدول الصفحات، حيث إن التحقق من جداول الصفحات المشتركة في huge pmd unshare() يكون غير صحيح إذا تمت زيادة عدد المراجع. يمكن أن يتسبب في حدوث المشكلة كل من damon وoffline page وpage idle وغيرها، التي تزيد من عدد المراجع لجدول الصفحات. وقد يؤدي ذلك إلى التخلص من جدول الصفحات نفسه بعد الإبلاغ عن «عدد تعيينات غير صفر» (nonzero mapcount)، وعدم تحرير صفحة HugeTLB التي تم تعيينها بواسطة جدول الصفحات.التوصيات
لحل المشكلة، قم بإدخال عداد مشاركة مستقل عن جدول صفحات PMD. يمكن تحقيق ذلك من خلال إعادة استخدام الحقل
pt share count، الذي يُستخدم لـ pmds x86/arm64/riscv. كحل مؤقت (workaround)، ضع في اعتبارك تعطيل الدالة split huge pages() حتى يتوفر تصحيح. قم بتقييد الوصول إلى الدالة huge pmd unshare() لتقليل مخاطر الاستغلال. تجنب استخدام الدالة try get folio() في نقطة نهاية واجهة برمجة التطبيقات (API) المتأثرة حتى يتم حل المشكلة. وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾