CVE-2026-72711
Lean 4 قبل 4.32.2 Kernel يقبل تعريفًا معتمًا بمتغير حر غير مرتبط
- تم النشر
- 24/08/2026
- محدث
- 26/10/2026
- تخصيص CNA
- VulnCheck
- الأدلة المرصودة
- 26/10/2026
CVSS الأساسي
nvd · CVSS 4.0
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:Xمنخفض · الثلاثين يومًا القادمة
- المئوية
- 7.1%
- تاريخ الموديل
- 25/10/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
نواة Lean 4 لا تتحقق من أن جسم إعلان غير شفاف مغلق. يُغفل `environment::add_opaque` استدعاء `check_no_metavar_no_fvar` الذي تنفذه مسارات التعريف والمبرهنة، لذا لا تُرفض قيمة تحتوي على متغير حر غائب عن السياق المحلي رفضًا قاطعًا. يمكن لبرنامج ميتا (metaprogram) أن يتسبب أولًا في أن تنشئ النواة محليًا مؤقتًا من النوع `False` وتسجّل نوعه في ذاكرة التخزين المؤقت للاستدلال الخاصة بمدقق الأنواع، ثم يستعيد السياق المحلي بينما يظل إدخال ذاكرة التخزين المؤقت قائمًا على نفس نسخة مدقق الأنواع، وأخيرًا يقدّم إعلانًا غير شفاف قيمته هي المتغير غير المرتبط الآن. يُجاب عن البحث في ذاكرة التخزين المؤقت قبل الفرع الذي كان سيختبر العضوية في السياق المحلي، لذا تستنتج النواة النوع المخزّن مؤقتًا وتقبل ثابتًا غير شفاف من النوع `False`، ومنه يستلزم أي قضية. يُقبل الإعلان عبر المسار المفحوص العادي عند أقصى تحقق من النواة، دون `sorry` أو `unsafeCast` أو `debug.skipKernelTC` أو `addDeclWithoutChecking` أو شيفرة أجنبية أو ملف `.olean` معدّل، ولا تحمل النتيجة أي مسلّمات (axioms). تم إصلاح ذلك في 4.32.2 بإضافة فحص الإغلاق المفقود.
المصادر
CVE-2026-72711 — خلل في سلامة نواة Lean 4: تسميم ذاكرة التخزين المؤقت للاستدلال
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.