Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
rocq-cve-poc-12155 — CVE-2020-37268 — يتجاهل Rocq/Coq Print Assumptions فحص الكون غير الآمن عبر Parameter Inline | Kitploit
أدوات/GitHubGitHub/endrazine/rocq-cve-poc-12155
التحليل الثابتتحليل الثغرات الأمنيةالاستغلالالتعلم والتعليم
GitHubendrazine/rocq-cve-poc-12155

rocq-cve-poc-12155

CVE-2020-37268 — يتجاهل Rocq/Coq Print Assumptions فحص الكون غير الآمن عبر Parameter Inline

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2020-37268 — Rocq/Coq Print Assumptions يتجاهل فحص الكون غير الآمن عبر Parameter Inline

تجاوز تدقيق البرهان عبر تضمين functor الوحدة — دون إصلاح منذ 2020.

ملخص الثغرة

يفشل Print Assumptions في الإبلاغ عن أن تعريفًا ما بُني مع تعطيل فحص الكون (universe checking) عندما يصل ذلك التعريف إلى المستدعي عبر Parameter Inline في نوع وحدة (module type). يؤدي تطبيق functor إلى تضمين جسم المعامل (parameter) وإسقاط السجل الخاص بسياق Unset Universe Checking، لذا لا يُظهر الثابت الناتج أي أثر للعملية غير الآمنة.

وبالتالي يمكن لوحدة ما أن تستخدم عدم اتساق في الكون لإثبات False، ويُبلّغ Print Assumptions عن البرهان التابع على أنه مغلق ضمن السياق العام — دون بديهيات (axioms)، ودون أي أعلام غير آمنة ظاهرة.

يرفض coqchk بالفعل ملف .vo المُجمّع الناتج، لكن تدقيق الافتراضات داخل العملية (Print Assumptions) لا يكتشف المشكلة.

الاستخدام

docker build -t rocq-cve-poc-12155 .
docker run --rm rocq-cve-poc-12155

على نسخة مُعرّضة للثغرة (Rocq 8.11 – 9.2.0، وجميع إصدارات Coq 8.x التي تتضمن نظام الوحدات)، يؤكد المخرَج برهان 0 = 1 مع إبلاغ Print Assumptions عنه على أنه مغلق.

التأثير

قد تتأثر أي سير عمل يعتمد على Print Assumptions كفحص سلامة وحيد:

  • المترجمات المُتحقَّق منها رسميًا (CompCert)
  • أنوية أنظمة التشغيل المُتحقَّق منها (CertiKOS)
  • أطر منطق الفصل (Iris)
  • المكتبات الرياضية (MathComp)
  • الشيفرة الحاملة للبرهان حيث يمكن لملف .v خبيث ضمن تبعية أن يُدخل تصريحات غير سليمة تجتاز تدقيق الافتراضات
  • العقود الذكية المُتحقَّق منها (ConCert)
  • أي مشروع لا يشغّل coqchk بانتظام على المخرجات المُجمّعة

السبب الجذري

عندما يعلن نوع وحدة عن Parameter Inline، يقوم تطبيق functor بتضمين جسم المعامل في السياق المستدعي. يتجاهل هذا التضمين البيانات الوصفية التي تسجّل أن التعريف الأصلي أُنتج ضمن Unset Universe Checking. لذلك يقبل رسم الكون (universe graph) قيود كون غير متسقة من الجسم المُضمَّن، ولا يرى Print Assumptions أي أثر للسياق غير الآمن.

الخطأ مفتوح منذ 2020 (قضية Coq رقم #12155) وهو موثّق في dev/doc/critical-bugs.md الخاص بالمشروع. لم يُدمج أي إصلاح حتى إصدار Rocq 9.2.0.

التقييم

الحقلالقيمة
CVECVE-2020-37268
CVSS 3.1AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N — 7.1 (High)
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 (Medium)
CWECWE-778 — Insufficient Logging

الإصدارات المتأثرة

المنتجالمتأثرالمُصلَح
Coq8.11 – 8.20غير مُصلَح
Rocq Prover8.20 – 9.2.0غير مُصلَح

التخفيف

  • شغّل coqchk على جميع ملفات .vo المُجمّعة قبل الوثوق بالبراهين في بيئة الإنتاج. يكتشف coqchk عدم الاتساق في الكون الذي يفوته Print Assumptions.
  • دقّق تبعيات الوحدات — يتطلب الهجوم نوع وحدة يتضمن Parameter Inline جرى تجميعه ضمن Unset Universe Checking.
  • لا يتوفر إصدار مُرقَّع حتى إصدار Rocq 9.2.0.

المراجع

تقرير الخطأrocq-prover/rocq#12155
وثيقة الأخطاء الحرجةdev/doc/critical-bugs.md
استشارة VulnCheckvulncheck.com

الجدول الزمني

التاريخالحدث
2020أبلغ Jason Gross عن الخطأ (coq/coq#12155)
2020–2026يبقى الخطأ مفتوحًا، وموثّقًا في critical-bugs.md
2026-08-24نُشر CVE-2020-37268 بواسطة VulnCheck
2026-08-24نُشر PoC قابل لإعادة الإنتاج عبر Docker

الفضل

  • اكتشاف الخطأ: Jason Gross
  • تجهيز PoC: Jonathan Brossard (@endrazine) — MOABI / PSIRT.com
تنزيل الأداة