Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
rocq-cve-poc-22287 — CVE-2026-72714 — मॉड्यूल बंद होने के बाद Rocq यूनिवर्स चेकिंग स्थिति असमकालिक | Kitploit
उपकरण/GitHubGitHub/endrazine/rocq-cve-poc-22287
भेद्यता विश्लेषणशोषणक्रिप्टोग्राफीपेपर और शोध
GitHubendrazine/rocq-cve-poc-22287

rocq-cve-poc-22287

CVE-2026-72714 — मॉड्यूल बंद होने के बाद Rocq यूनिवर्स चेकिंग स्थिति असमकालिक

रिपॉजिटरी देखें
2 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-72714 — मॉड्यूल बंद होने के बाद Rocq यूनिवर्स चेकिंग स्टेट डीसिंक्रोनाइज़

मॉड्यूल-स्कोप्ड यूनिवर्स चेकिंग फ्लैग डीसिंक्रोनाइज़ेशन के माध्यम से बिना किसी स्वयंसिद्ध (axiom) के 0 = 1 सिद्ध करना।

फ़ील्डमान
बग रिपोर्टrocq-prover/rocq#22287
फ़िक्सकोई नहीं (2026-08-16 तक इश्यू खुला है)
प्रभावितRocq ≤ 9.2.0 / Coq 8.x (stdlib में Hurkens वाले सभी संस्करण)
CVSS 3.1AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N — 7.1
CWECWE-488 (Exposure of Data Element to Wrong Session), CWE-20 (Improper Input Validation)
CVECVE-2026-72714

भेद्यता सारांश

Rocq Prover का मॉड्यूल सिस्टम Local Unset Universe Checking फ्लैग को ठीक से स्कोप करने में विफल रहता है। जब किसी मॉड्यूल के अंदर उपयोग किया जाता है, तो मॉड्यूल बंद होने पर फ्लैग को उसकी पिछली स्थिति में बहाल किया जाना चाहिए। हालाँकि, यूनिवर्स ग्राफ़ (ugraph) फ्लैग की अपनी एक प्रति रखता है, जो मॉड्यूल बंद होने पर वैश्विक स्थिति के साथ सिंक से बाहर हो जाती है।

डीसिंक के बाद:

  • Test Universe Checking on रिपोर्ट करता है (वैश्विक फ्लैग बहाल हो गया था)
  • ugraph में अभी भी यूनिवर्स चेकिंग off है (इसकी प्रति बहाल नहीं हुई)
  • इसलिए कर्नेल यूनिवर्स-असंगत टर्म्स को बिना त्रुटि के स्वीकार कर लेता है

यूनिवर्स चेकिंग के प्रभावी रूप से अक्षम होने के साथ, Hurkens का विरोधाभास लागू होता है: TypeNeqSmallType.paradox इस तथ्य का फ़ायदा उठाता है कि जब यूनिवर्स बाधाएँ लागू नहीं होतीं, तो u < v वाले Type@{u} और Type@{v} को आपस में भ्रमित किया जा सकता है, जिससे False का सीधा प्रमाण प्राप्त होता है।

एक्सप्लॉइट:

  • किसी भी स्वयंसिद्ध (axiom), प्लगइन, या असुरक्षित सुविधा का उपयोग नहीं करता
  • Print Assumptions "Closed under the global context" रिपोर्ट करता है
  • केवल Stdlib.Logic.Hurkens की आवश्यकता होती है (जो मानक लाइब्रेरी का हिस्सा है)
  • प्रमाण कोड की केवल 6 पंक्तियाँ हैं

उपयोग

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

एक असुरक्षित Rocq संस्करण पर अपेक्षित आउटपुट:

[*] Compiling ZeroEqOne.v ...
Universe Checking is on.
bad is defined
Closed under the global context
zero_eq_one is defined
Closed under the global context

[!] VULNERABILITY CONFIRMED

    zero_eq_one : 0 = 1
    Depends on: no axioms (closed under the global context)

    Bug class:  Universe checking state desync (CWE-488)
    Root cause: ugraph retains stale Local Unset Universe Checking flag
    Bug report: https://github.com/rocq-prover/rocq/issues/22287

प्रभाव

कोई भी सिस्टम जो Rocq के kernel-checked proofs पर भरोसा करता है, प्रभावित होता है:

  • औपचारिक रूप से सत्यापित सॉफ़्टवेयर: CompCert (सत्यापित C कंपाइलर), CertiKOS (सत्यापित OS kernel), Iris (concurrent separation logic framework), MathComp — Rocq proof पर बना कोई भी safety case अमान्य है यदि proof environment में इस flag का desync हुआ हो।
  • Proof-carrying code: किसी dependency में एक दुर्भावनापूर्ण .v फ़ाइल चुपचाप अस्वस्थ घोषणाएँ (unsound declarations) पेश कर सकती है जिन पर downstream proofs निर्भर करते हैं।
  • स्मार्ट कॉन्ट्रैक्ट्स: सत्यापित स्मार्ट कॉन्ट्रैक्ट विकास के लिए Rocq का उपयोग करने वाली परियोजनाएँ (जैसे, ConCert) की सुरक्षा गारंटी रद्द हो सकती है।

तकनीकी विवरण

मूल कारण

kernel में universe graph (ugraph) में Universe Checking flag की अपनी प्रति होती है। जब कोई module Local Unset Universe Checking का उपयोग करता है, तो flag वैश्विक स्थिति (global state) और ugraph दोनों में संशोधित होता है। जब module बंद होता है, तो वैश्विक स्थिति module की सहेजी गई स्थिति से पुनर्स्थापित होती है, लेकिन ugraph की प्रति समन्वयित (synchronized) नहीं होती, जिससे universe checking प्रभावी रूप से अक्षम रह जाती है।

आक्रमण प्रवाह

┌─────────────────────────────────────────────────────┐
│ 1. Universes u v.  Constraint u < v.                │
│    → Declare universes with strict ordering          │
├─────────────────────────────────────────────────────┤
│ 2. Module Off.                                       │
│      Local Unset Universe Checking.                  │
│    End Off.                                          │
│    → ugraph flag stays OFF after module closes        │
├─────────────────────────────────────────────────────┤
│ 3. Test Universe Checking.  → reports "on" (LIE)     │
├─────────────────────────────────────────────────────┤
│ 4. eapply TypeNeqSmallType.paradox; reflexivity.     │
│    → Kernel accepts universe-inconsistent proof       │
│    → False proved with no axioms                     │
├─────────────────────────────────────────────────────┤
│ 5. zero_eq_one : 0 = 1                              │
│    → Derived via exfalso                             │
└─────────────────────────────────────────────────────┘

Lean 4 कर्नेल बग्स के साथ तुलना

पहलूRocq #22287 (यह बग)Lean #14484Lean #14576
प्रूफ असिस्टेंटRocq (Coq)Lean 4Lean 4
बग वर्गमॉड्यूल सिस्टम में स्टेट डीसिंकइन्फरेंस कैश पॉइज़निंगप्रोजेक्शन के माध्यम से टाइप कन्फ्यूज़न
एक्सप्लॉइट जटिलता6 पंक्तियाँ~20 पंक्तियाँ~50 पंक्तियाँ
यूनिवर्स/टाइप सिस्टमयूनिवर्स चेकिंग बायपासअपारदर्शी FVar स्वीकृतफैंटम पैरामीटर एस्केप
फ़िक्स स्थितिखुलाफ़िक्स्ड (PR #14498)फ़िक्स्ड (PR #14577)

श्रेय

  • बग की खोज: Gaëtan Gilbert (@SkySkimmer)
  • PoC पैकेजिंग: Jonathan Brossard (@endrazine)
टूल डाउनलोड करें