
CVE-2026-64747 AGXG14P count-bitmask OOB ट्रिगर प्रोब (A15/iOS 26.5.2)
लक्ष्य: iPhone 13 (A15) iOS 26.5.2 पर। यह ऐप AGXG14P GPU कमांड-क्यू पथों को प्रहार करता है जो संभवतः प्रति-क्यू काउंट बिटमास्क को फीड करते हैं (count >= 0x400 → OOB 0x40-बाइट स्लॉट राइट → कर्नेल हीप भ्रष्टाचार)।
0xfffffff008003a8c (26.5.2): x1 = 32-बिट काउंट मास्क। प्रत्येक सेट बिट n के लिए यह एक 0x40-बाइट फिक्स्ड टेम्पलेट (00 00 00 00 + FF×60) को obj+0x1040+n*0x40 और obj+0x1540+n*0x40 में कॉपी करता है। 26.6 फिक्स: count >= 0x400 (यानी कोई भी बिट ≥ 10) अस्वीकार करें। वैध स्लॉट 0..9।[cmd+0x14] फ़ील्ड से सबमिट किए गए बैच में OR-संचित होता है (रैपर 0xfffffff00800c9d0)। बैच स्लॉट ऐरे (10 स्लॉट × 0x40) ऑब्जेक्ट ऑफसेट 0x1040 / 0x1540 पर रहते हैं।count किसी स्थिर कॉल/लिटरल के माध्यम से पहुंच योग्य नहीं है — फ़ंक्शन रनटाइम-निर्मित डिस्पैच टेबल (इनडायरेक्ट PAC कॉल) के माध्यम से पहुंचा जाता है।[cmd+0x14] (या मास्क) को फीड करता है। यही इस प्रोब का अनुभवजन्य रूप से पता लगाने का प्रयास है।एक सबमिट किया गया बैच जहाँ किसी कमांड का 0x14 फ़ील्ड (या बैच भर का OR) बिट ≥ 10 सेट करता है। इसलिए यह प्रोब हर संभावित सतह को हाई-बिट मानों से भर देता है: शेयर्ड-इवेंट सिग्नल मान 1<<k (k=0..31), घने मास्क (0x3FF|0x400..0xFFFFFFFF), 256-बफर सिंगल बैच, फेंस, रेंडर + कंप्यूट + ब्लिट, 32 क्यू।
यदि प्रोब बग को ट्रिगर करता है, तो अपेक्षित लक्षण बढ़ती गंभीरता के क्रम में हैं:
एक तैयार ipa हर पुश पर GitHub Actions द्वारा स्वचालित रूप से बनाया जाता है और नवीनतम रन के build artifacts में डाल दिया जाता है (AGXProbe.ipa)। यह अहस्ताक्षरित है, इसलिए इसे किसी भी मुफ्त-Apple-ID साइडलोडर से इंस्टॉल करें:
वर्तमान ipa: बंडल आईडी com.agxprobe.test, arm64, MinOS 17.0। यदि कोई साइडलोडर बंडल आईडी को अस्वीकार करता है, तो एक अद्वितीय आईडी के साथ फिर से साइन करें।
AGXProbe.xcodeproj को Xcode (16.x) में खोलें।PRODUCT_BUNDLE_IDENTIFIER (जैसे com.you.agxprobe1) को
कुछ भी अद्वितीय बदलें ताकि साइनिंग सफल हो।eventStorm → inFlight → fenceStorm → multiQueue → computeHeavy → chainedEvents → mixed → (repeat)।agxprobe.log ऐप के Documents में, Files ऐप के माध्यम से सुलभ क्योंकि UIFileSharingEnabled चालू है) और इसे वापस भेजें।यदि यह पैनिक हुआ:
Settings → Privacy & Security → Analytics & Improvements → Analytics Data → नवीनतम panic-full-<date> ढूंढें (या मारे गए ऐप के लिए JetsamEvent / ipa-log-<timestamp>) → Share / AirDrop / अंतिम भाग कॉपी करें।
"panic(cpu ...)" के बाद की पहली पंक्तियाँ क्रैश करने वाले कर्नेल फ़ंक्शन को दिखाती हैं — उन्हें वापस भेजें।