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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2022-46395-qemu — Arm Mali r36p0 GPU ड्राइवर में CVE-2022-46395 दौड़ की स्थिति को पुन: पेश करने के लिए QEMU-आधारित लैब। स्थानीय भेद्यता अनुसंधान और प्रतिगमन परीक्षण के लिए PoC, बिल्ड स्क्रिप्ट और initramfs पैकेजिंग शामिल है। | Kitploit
उपकरण/GitHubGitHub/gao-zuin/cve-2022-46395-qemu
भेद्यता विश्लेषणशोषणफज़िंगलर्निंग और शिक्षाबाइनरी शोषणलैब और अभ्यास
GitHubgao-zuin/cve-2022-46395-qemu

cve-2022-46395-qemu

Arm Mali r36p0 GPU ड्राइवर में CVE-2022-46395 दौड़ की स्थिति को पुन: पेश करने के लिए QEMU-आधारित लैब। स्थानीय भेद्यता अनुसंधान और प्रतिगमन परीक्षण के लिए PoC, बिल्ड स्क्रिप्ट और initramfs पैकेजिंग शामिल है।

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

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

सभी देखें →

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

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

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

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

CVE-2022-46395 QEMU r36p0 लैब

यह रिपॉज़िटरी Arm Mali r36p0 ड्राइवर वंशावली के विरुद्ध CVE-2022-46395 की पोर्टेबल ट्रिगर शर्त को पुनः उत्पन्न करने हेतु एक QEMU/no-Mali लैब है।

यह लैब स्थानीय भेद्यता अनुसंधान और रिग्रेशन परीक्षण के लिए अभिप्रेत है। इसमें मूल एक्सप्लॉइट का Pixel-विशिष्ट विशेषाधिकार वृद्धि पेलोड शामिल नहीं है। LAB_QEMU मोड में PoC यह प्रदर्शित करने के बाद रुक जाता है कि soft-event/user-buffer रेस विंडो तक पहुँच गई थी।

रिपॉज़िटरी संरचना

  • poc/: QEMU-अनुकूलित CVE-2022-46395 PoC। Android लॉगिंग और प्रॉपर्टी कॉल्स बदल दिए गए हैं, और LAB_QEMU के अंतर्गत Pixel कर्नेल टेक्स्ट पैचिंग अक्षम कर दी गई है।
  • src/google-gpu-raviole-android13/: Google Pixel GPU मॉड्यूल स्रोत android.googlesource.com/kernel/google-modules/gpu से, शाखा android-gs-raviole-5.10-android13। शामिल mali_kbase/Kbuild ड्राइवर को r36p0-01eac0 के रूप में पहचानता है।
  • scripts/: बिल्ड, initramfs पैकेजिंग, QEMU बूट, और वन-शॉट पुनरुत्पादन सहायक स्क्रिप्ट।
  • docs/: स्थानीय विश्लेषण नोट्स और पुनरुत्पादन रिपोर्ट।
  • logs/: सफल स्थानीय रनों से चयनित साक्ष्य लॉग।

जनरेटेड बाइनरी, initramfs आर्काइव, ऑब्जेक्ट फ़ाइलें, और अधिकांश रनटाइम लॉग Git द्वारा अनदेखे किए जाते हैं। नीचे दी गई स्क्रिप्ट से उन्हें स्थानीय रूप से पुनः बिल्ड करें।

होस्ट आवश्यकताएँ

स्क्रिप्ट निम्नलिखित के साथ एक Linux VM पर उपयोग की गई थीं:

  • bash, make, gcc, file, cpio, gzip, modinfo
  • busybox /bin/busybox पर
  • qemu-system-x86_64
  • एक तैयार Linux 5.10 x86_64 KASAN कर्नेल ट्री जो बाहरी मॉड्यूल बिल्ड कर सकता है

डिफ़ॉल्ट रूप से स्क्रिप्ट कर्नेल ट्री और बूट इमेज की अपेक्षा यहाँ करती हैं:

../build/linux-5.10-kasan
../build/linux-5.10-kasan/arch/x86/boot/bzImage

आप उन पथों को KDIR और KERNEL_IMAGE के साथ ओवरराइड कर सकते हैं।

पुनरुत्पादन करें

रिपॉज़िटरी को क्लोन करें और उसमें प्रवेश करें:

git clone https://github.com/Gao-Zuin/cve-2022-46395-qemu.git
cd cve-2022-46395-qemu

पूर्ण बिल्ड/पैकेज/बूट प्रवाह चलाएँ:

MAX_ATTEMPTS=2000 ./scripts/reproduce.sh

यदि आपका KASAN कर्नेल डिफ़ॉल्ट सिबलिंग ../build निर्देशिका में नहीं है:

KDIR=/path/to/linux-5.10-kasan \
KERNEL_IMAGE=/path/to/linux-5.10-kasan/arch/x86/boot/bzImage \
MAX_ATTEMPTS=2000 \
./scripts/reproduce.sh

सफल स्थानीय रन ने इस टाइमिंग का उपयोग किया:

MAX_ATTEMPTS=2000 UNMAP_OFFSET_NS=-800000 ./scripts/reproduce.sh

अधिक विस्तृत प्रयास लॉगिंग के लिए:

MAX_ATTEMPTS=2000 VERBOSE_ATTEMPTS=1 UNMAP_OFFSET_NS=-800000 \
  ./scripts/reproduce.sh

मैन्युअल चरण

वन-शॉट स्क्रिप्ट निम्नलिखित के समतुल्य है:

./scripts/build_r36p0_no_mali.sh
./scripts/build_poc.sh
MAX_ATTEMPTS=2000 UNMAP_OFFSET_NS=-800000 ./scripts/package_initramfs.sh
./scripts/run_qemu.sh

उपयोगी पर्यावरण चर:

  • KDIR: mali_kbase.ko को संकलित करने के लिए उपयोग किया जाने वाला कर्नेल बिल्ड ट्री
  • KERNEL_IMAGE: QEMU को दी जाने वाली bzImage
  • QEMU_LOG: आउटपुट लॉग पथ
  • QEMU_MEM: QEMU मेमोरी आकार, डिफ़ॉल्ट 1536M
  • QEMU_SMP: QEMU CPU संख्या, डिफ़ॉल्ट 3
  • MAX_ATTEMPTS: PoC पुनः प्रयास सीमा, डिफ़ॉल्ट 2000
  • UNMAP_OFFSET_NS: रेस टाइमिंग ऑफ़सेट, डिफ़ॉल्ट -800000
  • VERBOSE_ATTEMPTS=1: प्रति-प्रयास विवरण प्रिंट करें
  • KASAN_UAF_MODE=1: मॉड्यूल को KASAN UAF प्रोब विकल्प के साथ लोड करें, जैसा scripts/reproduce_kasan_uaf.sh द्वारा उपयोग किया जाता है

अपेक्षित साक्ष्य

एक सफल रन निम्नलिखित जैसी पंक्तियाँ प्रिंट करता है:

mali mali.0: Kernel DDK version r36p0-01eac0
r36p0-01eac0 (UK version 11.34)
/dev/mali0
finished reset: 703956220 fault: 682115150 68 err 0 read 3
qemu lab mode: CVE-2022-46395 soft-event/user-buffer race reproduced
qemu lab mode: reproduction completed after 17 attempts
[init] PoC status: 0

संदर्भ साक्ष्य लॉग निम्नलिखित है:

logs/qemu-cve-2022-46395-r36p0-unmap-minus800us.log

मुख्य सफलता शर्त err=0, read=3, और fault < reset है। यह इंगित करता है कि no-Mali QEMU में r36p0-01eac0 के विरुद्ध रेस विंडो तक पहुँच गई थी।

नोट्स

  • यह एक QEMU लैब ट्रिगर है, पूर्ण डिवाइस एक्सप्लॉइट श्रृंखला नहीं।
  • मूल Pixel अंतिम चरण हार्ड-कोडेड ARM64 कर्नेल टेक्स्ट ऑफ़सेट पर निर्भर करता है और जानबूझकर यहाँ उपयोग नहीं किया गया है।
  • यदि QEMU रेस को पुनः उत्पन्न किए बिना बाहर निकलता है, तो उच्च MAX_ATTEMPTS के साथ पुनः चलाएँ या UNMAP_OFFSET_NS समायोजित करें।
टूल डाउनलोड करें