
AppleMediaServices में जीरो-डे: Bag fetch विफलता Mescal/Absinthe हस्ताक्षर को अक्षम कर देती है। Apple सेवाओं पर अनुरोध अहस्ताक्षरित होते हैं, जिससे डाउनग्रेड, रीप्ले और बायपास जोखिम उजागर होते हैं। इसमें विश्लेषण, लॉग साक्ष्य और PoC हमला तर्क शामिल है।
सारांश
यह मुद्दा एक सक्रिय ज़ीरो-डे भेद्यता है और AppleMediaServices.framework में एक व्यवस्थित डिज़ाइन दोष को दर्शाता है, न कि कोई रिग्रेशन या संस्करण-विशिष्ट बग।
Apple के AppleMediaServices फ्रेमवर्क में एक गंभीर फेल-ओपन दोष अनुरोध हस्ताक्षर को चुपचाप अक्षम करने की अनुमति देता है यदि कोई दूरस्थ कॉन्फ़िगरेशन फ़ाइल ("Bag") लोड होने में विफल रहती है। यह iOS, macOS, tvOS और watchOS को प्रभावित करता है।
जब Bag पुनर्प्राप्त नहीं हो पाता—DNS हेरफेर, टाइमआउट या नेटवर्क हस्तक्षेप के कारण—AppleMediaServices डेमॉन Mescal/Absinthe साइनिंग को अक्षम कर देते हैं और Apple सर्वरों को अहस्ताक्षरित अनुरोध भेजते हैं। इन अनुरोधों में अखंडता सुरक्षा का अभाव होता है और उपयोगकर्ताओं को डाउनग्रेड और रिप्ले हमलों के प्रति उजागर करते हैं।
लॉग साक्ष्य:
खोज
प्रभावित सिस्टम
वे सभी Apple प्लेटफ़ॉर्म जो AppleMediaServices.framework का उपयोग करते हैं, प्रभावित हैं।
प्रभावित डेमॉन शामिल हैं:
भेद्यता अवलोकन
Apple डिवाइस निम्नलिखित एंडपॉइंट से एक गतिशील कॉन्फ़िगरेशन Bag प्राप्त करते हैं:
https://bag.itunes.apple.com/bag.xml?deviceClass=...&format=json
इस कॉन्फ़िगरेशन में useAMSMescal, mescalURL और absintheURL जैसे फ़्लैग शामिल होते हैं, जो यह निर्धारित करते हैं कि आउटगोइंग अनुरोधों पर हस्ताक्षर होना चाहिए या नहीं।
यदि Bag लोड होने में विफल होता है, तो AppleMediaServices विफलता को लॉग करता है, हस्ताक्षर तर्क को अक्षम करता है और अहस्ताक्षरित अनुरोध भेजता है। कोई हस्ताक्षर सत्यापन, अखंडता जांच या लागू फ़ॉलबैक तंत्र नहीं है। Bag अप्रमाणित और अहस्ताक्षरित है, जिससे सुरक्षा स्थिति नेटवर्क हस्तक्षेप के प्रति संवेदनशील हो जाती है।
प्रूफ ऑफ कॉन्सेप्ट
पूर्व शर्तें:
शोषण चरण:
DNS NXDOMAIN प्रतिक्रियाओं, ड्रॉप किए गए TCP हैंडशेक या विलंबित प्रतिक्रियाओं का उपयोग करके Bag एंडपॉइंट तक पहुँच को ब्लॉक या छेड़छाड़ करें।
सिस्टम लॉग का निरीक्षण करें जो दर्शाते हैं कि Bag लोड होने में विफल रहा और Mescal/Absinthe हस्ताक्षर छोड़ दिए गए हैं।
सिस्टम घटकों (जैसे, App Store, Music ऐप) को अनुरोध भेजने के लिए ट्रिगर करें। नेटवर्क ट्रैफ़िक की निगरानी करें और हस्ताक्षर हेडर की अनुपस्थिति की पुष्टि करें:
परिणाम:
अहस्ताक्षरित ट्रैफ़िक बिना सत्यापन के Apple एंडपॉइंट पर प्रेषित होता है। यह हेरफेर, रिप्ले और अन्य अखंडता जोखिमों की अनुमति देता है।
खतरे के मॉडल
bag.itunes.apple.com तक पहुँच को अवरुद्ध करती हैAMSBagManager का संशोधनअनुशंसित उपचार
हस्ताक्षरित कॉन्फ़िगरेशन Bag को CMS, JWT या HMAC का उपयोग करके हस्ताक्षरित करें और क्लाइंट-साइड पर हस्ताक्षरों को सत्यापित करें।
फेल-सिक्योर डिफ़ॉल्ट AppleMediaServices को Bag पुनर्प्राप्त या मान्य न होने पर हस्ताक्षर-निर्भर ट्रैफ़िक को अवरुद्ध करना चाहिए।
सर्वर प्रवर्तन Apple का बैकएंड API ऐसे अहस्ताक्षरित अनुरोधों को अस्वीकार करना चाहिए जिन्हें Mescal या Absinthe सुरक्षा की आवश्यकता है।
मान्य कैशिंग Bag सामग्री को केवल तभी कैश किया जाना चाहिए जब वह अखंडता जांच पास करे और निर्दिष्ट समाप्ति सीमाओं के भीतर हो।
गंभीरता का औचित्य
Apple डिवाइस विश्वास के लिए हस्ताक्षरित अनुरोधों पर निर्भर करते हैं—App Store से लेकर मीडिया प्लेबैक तक। यदि कॉन्फ़िग फ़ाइल लोड नहीं हो पाने पर वे हस्ताक्षर गायब हो जाते हैं, तो Wi-Fi नेटवर्क पर हमलावर अखंडता को छीन सकते हैं और उपयोगकर्ता को बिना जानकारी दिए ट्रैफ़िक इंजेक्ट या रिप्ले कर सकते हैं। एक एकल ड्रॉप किया गया Bag अनुरोध Apple की सुरक्षा गारंटी को फेल ओपन कर देता है।