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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-64788 — # CVE-2026-64788 के लिए प्रूफ-ऑफ-कॉन्सेप्ट iOS 26.6 पर IOGPUFamily कर्नेल एक्सटेंशन में use-after-free दोष, जो Metal टेक्सचर निर्माण और हीप स्प्रेइंग के माध्यम से शोषण को प्रदर्शित करता है। | Kitploit
उपकरण/GitHubGitHub/bytev0rtex/cve-2026-64788
आईओएस सुरक्षाभेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगमोबाइल सुरक्षाबाइनरी शोषण
GitHubbytev0rtex/cve-2026-64788

CVE-2026-64788

# CVE-2026-64788 के लिए प्रूफ-ऑफ-कॉन्सेप्ट iOS 26.6 पर IOGPUFamily कर्नेल एक्सटेंशन में use-after-free दोष, जो Metal टेक्सचर निर्माण और हीप स्प्रेइंग के माध्यम से शोषण को प्रदर्शित करता है।

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

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

सभी देखें →

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

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

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

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

CVE-2026-64788 — IOGPUFamily उपयोग-के-बाद-मुक्त (Use-After-Free)

घटक: IOGPUFamily कर्नेल एक्सटेंशन (com.apple.iokit.IOGPUFamily)
प्रभावित: iOS / iPadOS 26.6 (23G71) और पुराने संस्करण
सुधारित: iOS / iPadOS 26.6.1 (23G83) में
प्रकार: IOGPUDevice::create_resource_iosurface में उपयोग-के-बाद-मुक्त (Use-After-Free)
प्रभाव: कर्नेल मेमोरी भ्रष्टाचार; A14 (iPhone 12) पर UAF डीरेफरेंस की पुष्टि हुई


श्रेय

खोजकर्ता: f00l (@PPPF00L), 3ndy1 (@_3ndy1), Minghao Lin (@Y1nkoc), 云散花折, Arjanit Isufi
(Apple सुरक्षा सलाह — iOS 26.6.1 के अनुसार)


मूल कारण

IOGPUDevice::create_resource_iosurface एक IOGPUSysMemory ऑब्जेक्ट (~0x100 बाइट्स, kalloc.256 ज़ोन) आवंटित करता है और इसे डिवाइस की IOSurface संसाधन तालिका में पंजीकृत करता है। लौटने से पहले, ADDS width+height → b.hs के माध्यम से एक आयाम ओवरफ्लो जांच चालू होती है। ओवरफ्लो पथ ऑब्जेक्ट को जारी किए बिना त्रुटि रिटर्न पर शाखा करता है, जिससे संसाधन तालिका में एक सक्रिय प्रविष्टि रह जाती है जो मुक्त मेमोरी की ओर इशारा करती है।

root@kitploit:~
create_resource_iosurface:
  kalloc(0x100) → obj          ; IOGPUSysMemory आवंटित
  table[new_id] = obj           ; एक संदर्भ के साथ पंजीकृत
  ADDS w_result, w_width, w_height
  b.hs error_path               ; ← ओवरफ्लो: यहाँ कूदता है
error_path:
  ; ऑब्जेक्ट जारी नहीं किया गया, तालिका प्रविष्टि साफ नहीं की गई
  return kIOReturnInvalid

पुरानी तालिका प्रविष्टि तब तक बनी रहती है जब तक समान संसाधन ID का पुनः उपयोग नहीं किया जाता या डिवाइस बंद नहीं किया जाता।


UAF डीरेफरेंस

IOGPUDevice::set_resource_purgeable(id) get_resource_by_id() के माध्यम से पुरानी ID को खोजता है, लटकती प्रविष्टि ढूंढता है, और इसे गैर-वर्चुअल रूप से एक्सेस करता है:


PoC व्यवहार

PoC Metal के newTextureWithDescriptor:iosurface:plane: का उपयोग करके तैयार किए गए ओवरफ्लो आयामों के साथ UAF को ट्रिगर करता है। UAF डीरेफरेंस से पहले:

  • 300× MTLBuffer(0x100, StorageModeShared) मुक्त kalloc.256 स्लॉट को भरने के लिए स्प्रे किया गया
  • स्प्रे डेटा [+0x10]=0, [+0x24]=0, [+0x28]=0 सेट करता है → Call2 और Call3 सुरक्षित रूप से छोड़ दिए जाते हैं
  • UAF डीरेफरेंस हमलावर-नियंत्रित हीप मेमोरी पर आगे बढ़ता है

ट्रिगर पहचान: एक गैर-मौजूद संसाधन पर set_resource_purgeable 0xe00002c2 लौटाता है। UAF + स्प्रे स्लॉट को पुनः प्राप्त करने के बाद, वही कॉल 0xe0002be लौटाता है (संसाधन मिला, Call1 चालू हुआ) — पुष्टि करता है कि पुरानी प्रविष्टि हमारे स्प्रे डेटा के साथ संसाधित की जा रही है।


iOS 26 शोषण नोट्स

iOS 26 में ज़ोन पृथक्करण (zone sequestration) मुक्त IOGPUSysMemory ऑब्जेक्ट्स को टाइप-स्थिर ज़ोन मुक्त सूची में वापस रखता है। [obj+0x10] (IOMemoryDescriptor) और [obj+0x18] (IOGPUDevice) दोनों बाहरी रिटेन काउंट रखते हैं और ऑब्जेक्ट के मुक्त होने के बाद भी सक्रिय रहते हैं। परिणामस्वरूप, completeMemory() हमेशा मान्य ivar डेटा पर निष्पादित होता है — UAF डीरेफरेंस की पुष्टि होती है लेकिन iOS 26 पर इस पथ के माध्यम से अकेले कर्नेल r/w प्रिमिटिव अवरुद्ध है जब तक ज़ोन पृथक्करण को तोड़ने के लिए कोई द्वितीयक प्रिमिटिव न हो।


आवश्यकताएँ

  • iOS 26.6 (23G71) या पुराना संस्करण
  • Apple A-सीरीज़ GPU (परीक्षित: A14 Bionic, iPhone 12)
  • कोई एंटाइटलमेंट आवश्यक नहीं — किसी भी Metal-सक्षम सैंडबॉक्स्ड ऐप से पहुंच योग्य

निर्माण

root@kitploit:~
clang -arch arm64 -framework Metal -framework IOSurface \
      -framework IOKit -framework Foundation \
      -o poc poc/poc_iogpu_uaf.m

या Xcode में खोलें, एक मान्य साइनिंग टीम सेट करें, और डिवाइस पर चलाएँ।


समयरेखा

तिथिघटना
2026-08-17iOS 26.6.1 सुधार के साथ जारी
2026-08-17Apple ने सुरक्षा सलाह में श्रेय प्रकाशित किए

संदर्भ

  • Apple सुरक्षा सलाह — iOS 26.6.1
  • Full Disclosure पोस्ट
टूल डाउनलोड करें
ऑफसेटसंचालनविवरण
+0x010cldaddl w9(-4), w8, [obj+0x24][obj+0x24] का परमाणु घटाव; पुराना मान → w8
+0x0128cbz w8, skip; ldr x1, [obj+0x28]यदि पुराना [+0x24] != 0: [obj+0x28] को IOGPUMemory::setAllocation के तर्क के रूप में लोड करें
+0x0134ldr x0, [obj+0x10][obj+0x10] को IOCommandGate तर्क के रूप में लोड करें; 0 होने पर cbz → skip