
iOS 15 और macOS 12 के लिए ANE कर्नेल r/w एक्सप्लॉइट
WeightBufs सभी Apple डिवाइसों के लिए एक कर्नेल r/w एक्सप्लॉइट है जिनमें Neural Engine सपोर्ट होता है।
बग्स और एक्सप्लॉइट @simo36 द्वारा, आप कमजोरियों और एक्सप्लॉइटेशन तकनीकों के बारे में अधिक जानकारी के लिए मेरी POC प्रस्तुति स्लाइड पढ़ सकते हैं।
एक्सप्लॉइट किसी भी हार्डकोडेड एड्रेस या ऑफसेट पर निर्भर नहीं करता है, और इसे macOS12 (12.4 तक) और *OS 15 (15.5 तक) पर AS IS काम करना चाहिए।
कर्नेल कमजोरियाँ सभी iOS 15 वर्ज़न (16.0 तक) को प्रभावित करती हैं, हालाँकि iOS 15.6 पर सैंडबॉक्स एस्केप ठीक कर दिया गया है। परिणामस्वरूप, iOS 15.6/15.7 पर फिर से काम करवाने के लिए एक्सप्लॉइट चेन को तोड़ना और दूसरा सैंडबॉक्स एस्केप आवश्यक है। हालाँकि मेरे पास एक और सैंडबॉक्स एस्केप है जो iOS 16.1 तक काम करता है, मुझे यकीन नहीं है कि कर्नेल एक्सप्लॉइट तकनीकें iOS 15.6+ पर अभी भी उपयोग योग्य हैं या नहीं।
यह एक्सप्लॉइट 4 कमजोरियों को जोड़ता है जिन्हें मैंने स्वतंत्र रूप से खोजा और Apple को रिपोर्ट किया:
CVE-2022-32845 : model.hwx के लिए aned सिग्नेचर चेक बायपास।CVE-2022-32948 : ऐरे इंडेक्स सत्यापन की कमी के कारण DeCxt::FileIndexToWeight() OOB रीड।CVE-2022-42805 : इंटीजर ओवरफ्लो समस्या के कारण ZinComputeProgramUpdateMutables() संभावित मनमाना रीड।CVE-2022-32899 : इंटीजर ओवरफ्लो समस्या के कारण DeCxt::RasterizeScaleBiasData() बफर अंडरफ्लो।कुछ स्थितियाँ हैं जहाँ एक्सप्लॉइट विफल हो सकता है:
MUTK से ऊपर है, हालाँकि एक्सप्लॉइट विफलता को पहले ही पहचान लेता है, जिससे डिवाइस क्रैश होने से बच जाता है। एक्सप्लॉइट को दोबारा चलाना पर्याप्त है और इसे दूसरे प्रयास में सफल होना चाहिए।DEBUG_EXPLOIT_STAGE_2_KERN_PANIC और DEBUG_EXPLOIT_STAGE_3_KERN_PANIC अवश्य पढ़ें।WeightBufs में AppleNeuralEngine फ्रेमवर्क हेडर फ़ाइलें शामिल हैं जो Elias Limneos द्वारा classdump-dyld 1.0 के माध्यम से उत्पन्न की गई हैं।
WeightBufs MIT लाइसेंस के तहत जारी किया गया है।