Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2023-6931 — CVE-2023-6931 kernel panic PoC | Kitploit
उपकरण/GitHubGitHub/k0n9-log/cve-2023-6931
Memory ForensicsVulnerability AnalysisExploitationLearning & EducationBinary Exploitation
GitHubk0n9-log/cve-2023-6931

CVE-2023-6931

CVE-2023-6931 kernel panic PoC

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

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

सभी देखें →

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

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

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

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

CVE-2023-6931

CVE-2023-6931 के लिए कर्नेल पैनिक PoC

विवरण

CVE-2023-6931 perf_event में एक कमजोरी है जो read_size में एक पूर्णांक अतिप्रवाह के कारण हीप बफर अतिप्रवाह की ओर ले जाती है।

प्रदर्शन घटना (perf event) क्या है?

perf_events लिनक्स कर्नेल द्वारा प्रदान किया गया एक प्रदर्शन निगरानी और विश्लेषण ढांचा है। यह ढांचा हार्डवेयर और सॉफ्टवेयर दोनों घटकों द्वारा उत्पन्न विभिन्न प्रदर्शन-संबंधित डेटा की ट्रैकिंग को सक्षम करता है।

मुख्य उपयोग

  • हार्डवेयर घटना ट्रैकिंग CPU चक्र, निर्देश निष्पादन गणना, कैश मिस आदि जैसी घटनाओं को ट्रैक करता है।
  • सॉफ्टवेयर घटना ट्रैकिंग स्विचिंग, पेज फॉल्ट, कॉन्टेक्स्ट स्विच आदि जैसी घटनाओं की निगरानी करता है।
  • कस्टम घटना ट्रैकिंग विशिष्ट अनुप्रयोगों या कर्नेल से संबंधित घटनाओं की ट्रैकिंग को सक्षम करता है।

perf के घटक

  • perf_event_open सिस्टम कॉल एक इंटरफ़ेस जो उपयोगकर्ता-स्थान को कर्नेल में प्रदर्शन घटनाओं को कॉन्फ़िगर और नियंत्रित करने की अनुमति देता है। इसका उपयोग घटनाओं से डेटा बनाने, समूहित करने, नियंत्रित करने या पढ़ने के लिए किया जाता है।
  • प्रदर्शन काउंटर CPU और कर्नेल द्वारा ट्रैक किया गया वास्तविक डेटा, जैसे निष्पादित निर्देशों की संख्या या CPU उपयोग
  • घटना समूह एकाधिक प्रदर्शन घटनाओं को एक साथ समूहित और प्रबंधित करने की अनुमति देता है। एक समूह नेता घटना समूह के प्रतिनिधि के रूप में कार्य करती है, जबकि सिबलिंग घटनाएँ समूह के भीतर शेष घटनाओं का प्रतिनिधित्व करती हैं

आवश्यकता

  1. /proc/sys/kernel/perf_event_paranoid का मान 1 या उससे कम होना चाहिए।
  2. खोले जा सकने वाले फ़ाइल विवरणकों की संख्या कम से कम लगभग 4100 होनी चाहिए। इसे ulimit -n कमांड का उपयोग करके जाँचा और संशोधित किया जा सकता है।
  3. कर्नेल विकल्प CONFIG_PERF_EVENTS सेट होना चाहिए।

विवरण

यह कमजोरी समूह के read_size में पूर्णांक अतिप्रवाह के कारण उत्पन्न होती है। फ़ंक्शन perf_event_validate_size read_size पर सत्यापन करता है। हालांकि, read_size को सत्यापित करने का तरीका केवल वर्तमान घटना के read_size की जाँच करता है।

मुख्य बिंदु यह है कि प्रत्येक सत्यापन के दौरान, केवल वर्तमान घटना को मान्य किया जाता है, जबकि पिछली घटनाओं को नहीं। यदि समूह नेता के लिए PERF_FORMAT_GROUP सेट है, तो केवल एक वर्तमान घटना जोड़ने से समूह नेता का read_size बढ़ सकता है।

यह अंततः perf_read_group में एक समस्या का कारण बनता है। event->read_size की गणना समूह नेता के read_format पर आधारित होती है, जिसे nr_siblings से गुणा किया जाता है। चूँकि read_size चर एक 2-बाइट u16 है, इसका अधिकतम मान 0xffff हो सकता है।

इसका शोषण करने के लिए, हमलावर पहले सभी संभावित read_format विकल्पों के साथ एक समूह नेता घटना बनाता है। इसके बाद, कई सिबलिंग घटनाएँ बनाई जाती हैं। ये सिबलिंग केवल read_Format में PERF_FORMAT_TOTAL_TIME_RUNNING सेट करती हैं ताकि perf_event_validate_size में कोई सत्यापन समस्या न हो। परिणामस्वरूप, nr_siblings मान अत्यधिक बड़ा हो जाता है, लेकिन चूँकि प्रत्येक सिबलिंग घटना व्यक्तिगत रूप से सत्यापन पास करती है, इस चरण में कोई समस्या नहीं होती है।

जब इस स्थिति में perf_read_group कॉल किया जाता है, तो समूह नेता का read_size बढ़ता रहता है क्योंकि PERF_FORMAT_GROUP सेट है। अंततः, यह पूर्णांक अतिप्रवाह की ओर ले जाता है, और kzalloc एक बहुत छोटा बफर आवंटित करता है। हालांकि, चूँकि घटनाओं की वास्तविक संख्या बहुत बड़ी है, एक हीप बफर अतिप्रवाह होता है, जिससे कर्नेल पैनिक होता है।

टूल डाउनलोड करें