
CVE-2025-31207 शमन और iOS 17 Relaxin/rootHide के लिए सैंडबॉक्स्ड परीक्षक
AppEnumGuard एक सुरक्षात्मक rootHide ट्वीक है, जो स्थापित-एप्लिकेशन एन्यूमरेशन साइड चैनल के लिए है, जिसे CVE-2025-31207 के रूप में ट्रैक किया जाता है। यह iOS 17.0–17.3.1 पर Relaxin जेलब्रेक के लिए डिज़ाइन किया गया है, जो Relaxin की rootHide वास्तुकला का उपयोग करता है। इस रिपॉजिटरी में एक सामान्य सैंडबॉक्स्ड iOS परीक्षण एप्लिकेशन भी शामिल है, जो कमजोर परिणाम प्रदर्शित करता है और शमन को सत्यापित करता है।
CVE-2025-31207, Apple के FrontBoard एप्लिकेशन-लॉन्चिंग लॉजिक में एक सूचना-प्रकटीकरण भेद्यता है। एक सैंडबॉक्स्ड एप्लिकेशन एक निजी SpringBoardServices लॉन्च फ़ंक्शन के माध्यम से मनमाने bundle पहचानकर्ता सबमिट कर सकता है और अलग-अलग रिटर्न कोड का उपयोग करके स्थापित एप्लिकेशनों को लापता एप्लिकेशनों से अलग कर सकता है। यह उन एप्लिकेशनों के बारे में निजी जानकारी प्रकट कर सकता है जो उपयोगकर्ता ने स्थापित किए हैं, जिनमें बैंकिंग, मैसेजिंग, सुरक्षा, साइडलोडिंग और जेलब्रेक-संबंधित ऐप्स शामिल हैं।
Apple इस मुद्दे को एक तर्क समस्या के रूप में वर्णित करता है जो किसी एप्लिकेशन को स्थापित ऐप्स की गणना करने दे सकती है। Apple ने iOS और iPadOS 18.5 में बेहतर जांच के साथ इसे ठीक किया। परिणामस्वरूप, iOS 17.0–17.3.1 OS स्तर पर प्रभावित रहता है।
| घटक | समर्थित लक्ष्य |
|---|---|
| iOS | 17.0–17.3.1 |
| जेलब्रेक | Relaxin |
| Bootstrap/पैकेज वास्तुकला | rootHide / iphoneos-arm64e |
| डिवाइस वास्तुकला | arm64e; ट्वीक बाइनरी में केवल arm64e स्लाइस होता है |
| पैकेज | rootHide .deb स्थापित करें, पारंपरिक rootless बिल्ड नहीं |
Relaxin rootHide bootstrap/पैकेज वास्तुकला का उपयोग करता है, इसलिए AppEnumGuard rootHide Theos के साथ बनाया गया है और इसमें rootHide .jbroot लोडर पथ शामिल हैं। पैकेज firmware (>= 17.0) और firmware (<< 17.4) घोषित करता है, जो समर्थित Relaxin रेंज 17.0–17.3.1 से मेल खाता है।
ट्वीक और परीक्षक को एक वास्तविक Relaxin/rootHide डिवाइस पर एक साथ सत्यापित किया गया: परीक्षक ने ट्वीक हटाए जाने पर लीक का पता लगाया और ट्वीक स्थापित होने के बाद ग्रीन पास लौटाया।
प्रकाशित प्रिमिटिव निजी SpringBoardServices फ़ंक्शन SBSLaunchApplicationWithIdentifierAndURLAndLaunchOptions को कॉल करता है। एक कमजोर सिस्टम पर यह स्थापित एप्लिकेशन और लापता एप्लिकेशन के लिए अलग-अलग त्रुटियाँ लौटाता है:
9: लक्ष्य मौजूद है, लेकिन लॉन्च नीति द्वारा अस्वीकृत है7: लक्ष्य मौजूद नहीं हैट्वीक UIKit एप्लिकेशन प्रक्रियाओं में इंजेक्ट किया जाता है। एक सामान्य कंटेनर-स्थापित एप्लिकेशन के लिए, यह निजी लॉन्च अनुरोध सबमिट किए बिना 7 लौटाता है। एप्लिकेशन कंटेनर के बाहर Apple और अन्य सिस्टम प्रक्रियाएँ मूल व्यवहार बनाए रखती हैं।
प्रत्येक GitHub रिलीज़ में दोनों इंस्टॉल करने योग्य आर्टिफैक्ट होते हैं:
AppEnumGuard_1.0.0_roothide_iphoneos-arm64e.deb — rootHide ट्वीकAppEnumGuardTester_1.0.0_sandboxed.ipa — सैंडबॉक्स्ड सत्यापन ऐप.deb स्थापित करें और respring करें।WhatsApp स्थापित होने पर अपेक्षित परिणाम:
| स्थिति | लक्ष्य | लापता | परीक्षक परिणाम |
|---|---|---|---|
| ट्वीक अनुपस्थित | 9 | 7 | लाल / FAIL |
| ट्वीक सक्रिय | 7 | 7 | हरा / PASS |
मूल डिवाइस परीक्षण ने दोनों स्थितियों को पुन: उत्पन्न किया: ट्वीक को अनइंस्टॉल करने पर लाल 9 / 7 परिणाम मिला, जबकि इसे स्थापित करने पर हरा 7 / 7 परिणाम मिला।
rootHide Theos स्थापित करें, फिर चलाएँ:
cd Tweak
THEOS=/path/to/theos-roothide \
make clean package FINALPACKAGE=1 THEOS_PACKAGE_SCHEME=roothide
परीक्षक Xcode के iPhoneOS SDK के साथ संकलित किया गया है और इसमें कोई जेलब्रेक या उन्नत एंटाइटलमेंट नहीं है:
./scripts/build-tester-ipa.sh
परिणामी IPA dist/ में रखा गया है। यह ad-hoc हस्ताक्षरित है ताकि एक इंस्टॉलर इसे सामान्य डेवलपमेंट पहचान के साथ फिर से हस्ताक्षरित कर सके। इसे platform-application या com.apple.private.security.no-sandbox न दें, क्योंकि परीक्षण विशेष रूप से एक सामान्य एप्लिकेशन सैंडबॉक्स से चलाने के लिए है।
7 / 7 परीक्षण तभी सार्थक है जब लक्ष्य एप्लिकेशन स्थापित होना ज्ञात हो।MIT