CVE-2026-46316
KVM: arm64: vgic-its: إسقاط مرجع ذاكرة التخزين المؤقت للترجمة فقط للإدخال المُمسوح
- تم النشر
- 09/06/2026
- محدث
- 16/09/2026
- تخصيص CNA
- Linux
- الأدلة المرصودة
- 07/08/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:Hمنخفض · الثلاثين يومًا القادمة
- المئوية
- 37.7%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
في نواة لينكس، تم حل الثغرة الأمنية التالية: KVM: arm64: vgic-its: إسقاط مرجع ذاكرة التخزين المؤقت للترجمة فقط للإدخال المُمسوح تقوم الدالة vgic_its_invalidate_cache() باجتياز ذاكرة التخزين المؤقت للترجمة الخاصة بـ ITS باستخدام xa_for_each() وتُسقط مرجع ذاكرة التخزين المؤقت على كل إدخال عبر vgic_put_irq(). ومع ذلك، فهي تضع المؤشر المُكرَّر بدلاً من القيمة التي يُرجعها xa_erase(). تُستدعى الدالة من سياقات لا تستبعد بعضها البعض: معالجات أوامر ITS تحمل its_lock، ومسار كتابة GITS_CTLR يحمل cmd_lock، والمسار الذي يمسح EnableLPIs في GICR_CTLR الخاص بالموزع لا يحمل أيًا منهما. يمكن لسياقين أو أكثر من هذه السياقات تفريغ نفس ذاكرة التخزين المؤقت في وقت واحد، وإذا لاحظ كل منها نفس الإدخال وقام بمسحه ثم وضعه، فإن المرجع الوحيد الذي تحمله ذاكرة التخزين المؤقت على ذلك الإدخال يُسقط أكثر من مرة. يمكن بعد ذلك تحرير الإدخال بينما لا يزال ITE يعيّنه. الدالة xa_erase() ذرّية وتُعيد الإدخال السابق، لذا ضع فقط الإدخال الذي أزالته هذا السياق فعليًا. يتم بعد ذلك إسقاط مرجع ذاكرة التخزين المؤقت مرة واحدة بالضبط لكل إدخال حتى عندما تعمل عمليات الإبطال بشكل متزامن، ويظل السلوك دون تغيير عندما يعمل سياق واحد فقط.
المصادر
1- ITScapeاستغلال
CVE-2026-46316 استغلال هروب من الضيف إلى المضيف في KVM/arm64 يستغل حالة سباق في محاكاة vGIC-ITS لتحقيق تنفيذ كود في نواة المضيف من ضيف غير مميز.
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.