Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
lean-cve-poc — CVE-2026-72844 : مثال على إثبات "0 = 1" باستخدام ثغرة في نواة Lean 4. | Kitploit
أدوات/GitHubGitHub/endrazine/lean-cve-poc
تحليل الثغرات الأمنيةالاستغلالالتعلم والتعليم
GitHubendrazine/lean-cve-poc

lean-cve-poc

CVE-2026-72844 : مثال على إثبات "0 = 1" باستخدام ثغرة في نواة Lean 4.

عرض المستودع
231منذ 2 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-72844: خطأ سلامة نواة Lean 4

إثبات 0 = 1 بدون مسلمات عبر تجاوز التحقق من الإسقاطات الاستقرائية المتداخلة.

ملخص الثغرة

لا تتحقق نواة Lean 4 من أن البنية المذكورة في تعبير الإسقاط تطابق نوع القيمة التي يجري إسقاطها، كما أن environment::add_inductive في src/kernel/inductive.cpp لم يتحقق من الأنواع للتطبيقات الاستقرائية المتداخلة التي تُستبدل بأنواع مساعدة، لذا فإن وسائطها البارامترية تجاوزت الفحص.

يمكن لبرنامج ميتا يعمل داخل عملية Lean تسجيل استقرائي متداخل خاطئ الأنواع، بحيث يطبّق مُنشئه إسقاط .proj C 0 على قيمة من النوع غير المرتبط W، وتقبل النواة التصريح عبر مسار addDecl المُفحَص العادي بأقصى درجة فحص في النواة. النتيجة هي خلط أنواع ينتج برهانًا على False لا يحمل أي مسلمات، ويمكن اشتقاق أي افتراض — بما في ذلك 0 = 1 — منه.

الاستغلال:

  • يستخدم فقط مسار النواة المُفحَص addDecl
  • يعمل مع --trust=0 (أقصى فحص)
  • يعرض لا مسلمات عبر #print axioms
  • لا يستخدم أي sorry أو unsafeCast أو debug.skipKernelTC أو FFI أو العبث بـ .olean

الاستخدام

root@kitploit:~
docker build -t lean-cve-poc .
docker run --rm lean-cve-poc

الإخراج المتوقع على إصدار Lean معرّض للثغرة:

root@kitploit:~
[*] Running ZeroEqOne.lean with --trust=0 ...
'bad' does not depend on any axioms
'boom' does not depend on any axioms
'zero_eq_one' does not depend on any axioms
zero_eq_one : 0 = 1

[!] VULNERABILITY CONFIRMED — CVE-2026-72844

    zero_eq_one : 0 = 1
    Depends on: no axioms

على إصدار Lean محدّث، ترفض النواة الاستقرائي خاطئ الأنواع ويُبلغ السكربت بأن الإصدار غير معرّض للثغرة.

التأثير

أي نظام يثق في البراهين المُتحقَّق منها بواسطة نواة Lean باعتبارها حقيقة مطلقة يتأثر بهذه الثغرة. ويشمل ذلك:

  • البرمجيات المُتحقق منها رسميًا: المترجمات، المكتبات المشفرة، العقود الذكية، أنظمة الطيران، السيارات — أي حالة أمان مبنية على برهان Lean تكون غير صالحة إذا بُنيت بإصدار متأثر.
  • الكود الحامل للبراهين: يمكن لاعتمادية خبيثة في حزمة Lake أن تُدخل بصمت تصريحات غير سليمة يستخدمها الكود اللاحق.
  • المدققات المستقلة: تبيّن أن نفس فئة الخطأ تتجاوز أيضًا المدقق النوعي المستقل Nanoda.

التفاصيل التقنية

السبب الجذري يكمن في معالجة النواة للأنواع الاستقرائية المتداخلة. عند حذف حدوث متداخل I Ds is، يجب على النواة التحقق من أن الوسائط البارامترية Ds تطابق المعاملات المعلنة للاستقرائي. الكود المعرّض للثغرة يفشل في التحقق من أن تعبيرات الإسقاط (.proj) في Ds تشير إلى اسم البنية الصحيح — حيث يُقبل .proj C 0 w حتى عندما w : W و W ≠ C.

وبالاقتران مع تصادم تجزئة (تستخدم النواة مقارنات Expr.hash في فحص المساواة التعريفية)، يسمح ذلك للمهاجم بتسجيل تصريحات يتعارض فيها إسناد الأنواع الداخلي للنواة مع الدلالات الفعلية للمصطلح، مما يؤدي إلى خلط الأنواع وبرهان على False.

المراجع

  • NVD: CVE-2026-72844
  • استشارة VulnCheck
  • إفصاح oss-security
  • مشكلة Lean 4 #14576
  • إصلاح PR #14577
  • إصلاح commit

الاعتمادات

  • اكتشاف الخطأ وإثبات المفهوم المصغّر: @kiranandcode
  • استغلال CollatzLean الأصلي: @xrchz (Ramana Kumar)
  • إصلاح النواة: Leonardo de Moura (PR #14577)
  • تسجيل CVE وتغليف إثبات المفهوم: Jonathan Brossard (@endrazine)
تنزيل الأداة
الحقلالقيمة
CVECVE-2026-72844
النشرة الأمنيةVulnCheck VCSA
تقرير الخطأleanprover/lean4#14576
الإصلاحleanprover/lean4#14577
الإصدارات المتأثرةLean 4 ≤ v4.31.0 / nightly ≤ 2026-07-27
أُصلح فيnightly 2026-07-29+ / v4.32.2
CVSS 4.0AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N — 6.8 متوسطة
CVSS 3.1AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N — 6.3 متوسطة
CWECWE-843 (الخلط بين الأنواع)