
CVE-2021-30862 के लिए राइट-अप और प्रमाण-अवधारणाएं, iOS iTunes U में 1-क्लिक RCE बग
2021 में, CodeColorist ने Mistuned कमजोरियाँ पर अपने लेख जारी किए, जो iTunes Store को प्रभावित करने वाली कमजोरियों की एक श्रृंखला थी जो एक-क्लिक रिमोट कोड निष्पादन की अनुमति देती थी। विशेष रूप से, उन्होंने बिना किसी मेमोरी भ्रष्टाचार के, केवल एक तर्क दोष के साथ calc को पॉप करने का प्रदर्शन किया। इस समय अवधि के दौरान, मैं विभिन्न ऐप्स में URL स्कीमों की जांच कर रहा था, क्योंकि 2 साल पहले, मैंने App Store के itms-services:// URL स्कीम से संबंधित एक सुरक्षा मुद्दे की रिपोर्ट की थी। एक URL स्कीम जो मुझे काफी समान लगी वह थी iTunes U की itms-itunesu:// URL स्कीम। उस समय, मुझे पता नहीं था कि यह उपयोगकर्ता द्वारा प्रदत्त इनपुट स्वीकार करती है और मुझे लगा कि इसका उपयोग केवल ऐप खोलने के लिए किया जाता है, लेकिन बाद में मुझे एहसास हुआ कि ऐसा नहीं था।
उनके लेख को पढ़ने पर, एक बात ने विशेष रूप से मेरा ध्यान खींचा: Pwn2Own 2014 के दौरान Jung Hoon Lee का itmss:// का उपयोग करके सैंडबॉक्स से बच निकलना। उस समय, iTunes Store मनमाने URL को स्वीकार करता था और उन्हें अपने SUWebView में लोड करने में खुश होता था, भले ही वे Apple से न हों (CVE-2014-8840)। इस बिंदु पर, आप अनुमान लगा सकते हैं कि मैं किधर जा रहा हूँ। मैंने देखा कि itmss:// iTunes U की URL स्कीम के समान था, इसलिए मैंने देखने का निर्णय लिया कि क्या iTunes U अपने वेब व्यू में google.com लोड करेगा। और देखो भी, उसने ऐसा किया। और फिर मैंने वही iTunes API जो Mistuned बग द्वारा उपयोग किया गया था, का उपयोग करके calc को पॉप करने का प्रयास करने का निर्णय लिया, पूरी तरह से उम्मीद नहीं थी कि यह काम करेगा, लेकिन मेरे बड़े आश्चर्य के लिए, यह काम कर गया। पता चला कि iTunes Store और iTunes U दोनों एक ही API साझा करते हैं। और Mistuned से UAF के बारे में क्या? क्या वह iTunes U में भी था? पता चला कि वह भी था, और मैं मेमोरी को डबल फ्री करके (POC_6.html) iTunes U को क्रैश करने वाला एक proof-of-concept बनाने में सफल रहा। मैंने Apple को भेजे गए कुछ POC के साथ-साथ Mistuned लेख की सहायता से main.js में इस कमजोरी से fakeobj/addrof primitive का एक प्रयास भी शामिल किया, हालाँकि जहाँ तक मुझे याद है, मुझे नहीं लगता कि मैंने fakeobj प्रिमिटिव को पूरी तरह से काम करने में सफलता प्राप्त की। आप इन कमजोरियों के प्रभाव पर अधिक जानकारी के लिए CodeColorist का लेख पढ़ सकते हैं, लेकिन संक्षेप में, वे पीड़ित से बहुत सारा संवेदनशील डेटा प्राप्त करने के साथ-साथ संभावित 1-क्लिक RCE की अनुमति देती हैं।