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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
rocq-cve-poc-21683 — CVE-2026-72705 — مدقّق Rocq Guard يقبل Fixpoint الممرَّر كوسيط من رتبة أعلى | Kitploit
أدوات/GitHubGitHub/endrazine/rocq-cve-poc-21683
تحليل الثغرات الأمنيةالاستغلالالتشفيرالأوراق والأبحاث
GitHubendrazine/rocq-cve-poc-21683

rocq-cve-poc-21683

CVE-2026-72705 — مدقّق Rocq Guard يقبل Fixpoint الممرَّر كوسيط من رتبة أعلى

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-72705 — مدقق Rocq Guard يقبل Fixpoint يُمرَّر كوسيط عالي الرتبة

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

اكتُشفت بشكل مستقل بواسطة Claude Opus 4.6 (Anthropic).

الحقلالقيمة
تقرير الخطأrocq-prover/rocq#21683
الإصلاحPR #21684
المتأثرRocq ≤ 9.1.0 / جميع إصدارات Coq التي تحتوي على مدقق الحماية
تم الإصلاح في9.2.0
CVSS 3.1AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N — 7.1
CWECWE-670 (تنفيذ تدفق تحكم غير صحيح دائمًا)
CVECVE-2026-72705

ملخص الثغرة

يقبل مدقق الحماية نقاط التثبيت (fixpoints) التي تمرر نفسها كوسائط عالية الرتبة إلى نقطة تثبيت أخرى، والتي تستدعيها بعد ذلك على عناصر غير فرعية من الوسيط البنيوي. تمرير دالة تكرارية إلى Definition (ثابت غير نقطة تثبيت) يُرفض بشكل صحيح — إذ يفكّها مدقق الحماية ويرى الاستدعاء الإشكالي. لكن تمريرها إلى Fixpoint يُقبل بشكل غير صحيح.

يخلق هذا مفارقة على نمط راسل في 4 أسطر:

Definition delta (x : russell 1) : False := x x.
Definition omega : False := delta delta.

حيث أن russell 1 يساوي تعريفياً russell 1 -> False — وهو نوع هو نفي نفسه. التطبيق الذاتي يعطي False مباشرة.

الاستغلال:

  • لا يستخدم أي مسلّمات (axioms) أو إضافات (plugins) أو ميزات غير آمنة
  • يُبلّغ Print Assumptions عن "Closed under the global context"
  • البرهان الكامل على False هو 4 أسطر من الكود الدالي
  • لا تكتيكات، ولا Qed — تعريفي بحت

الاستخدام

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

التأثير

يتأثر أي نظام يثق بالبراهين المُتحقَّق منها بواسطة نواة Rocq:

  • البرمجيات المُتحقَّق منها رسميًا: CompCert، CertiKOS، Iris، MathComp
  • العقود الذكية: ConCert، DeFi المُتحقَّق منها
  • البراهين المُولَّدة بالذكاء الاصطناعي: أي نظام يستخدم Rocq كخلفية موثوقة

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

بناء المفارقة

iterate_to_neg f n seed :=
  match n with
  | 0   => f seed -> False      (* negate after n steps *)
  | S m => iterate_to_neg f m seed
  end

russell n :=
  match n with
  | 0   => True
  | S m => iterate_to_neg russell 1 (S m)   (* passes ITSELF *)
  end

يجب أن يرفض مدقق الحماية russell لأنه يمرر نفسه كوسيطة من رتبة أعلى إلى iterate_to_neg، والتي تستدعيه بعد ذلك على S m (وليس مصطلحًا فرعيًا من n). لكن المدقق يتتبع فقط الاستدعاءات العودية المباشرة، وليس الاستدعاءات عبر وسائط النقطة الثابتة من رتبة أعلى.

الاختزال

russell 1 = iterate_to_neg russell 1 1
          = iterate_to_neg russell 0 1
          = russell 1 -> False

إذن russell 1 ≡ russell 1 -> False. هذه هي مجموعة راسل الكلاسيكية: مجموعة كل المجموعات التي لا تحتوي على نفسها. التطبيق الذاتي يعطي:

delta : russell 1 -> False    (* russell 1 = russell 1 -> False *)
delta x := x x                (* x : russell 1 = russell 1 -> False *)

omega : False
omega := delta delta           (* delta : russell 1 -> False = russell 1 *)

الاكتشاف

وُجدت هذه الثغرة بشكل مستقل بواسطة Claude Opus 4.6 خلال جولة اختبار عشوائي (fuzzing) طوال الليل أعدّها Tristan Stérin (@tcosmo)، استنادًا إلى إشارات من Yannick Forster (@yforster) حول مدقّق الحُرّاس (guard checker). حدّد الذكاء الاصطناعي نمط تجاوز النقطة الثابتة من الرتبة الأعلى وبنى استغلال iterate_to_neg/russell الأدنى.

انظر: Zulip thread

الشكر والتقدير

  • اكتشاف الثغرة: Claude Opus 4.6 (Anthropic)، بإعداد من Tristan Stérin (@tcosmo)
  • إصلاح النواة: PR #21684
  • تجهيز إثبات المفهوم (PoC): Jonathan Brossard (@endrazine)
تنزيل الأداة