
CVE-2024-20154 का तकनीकी विश्लेषण, MediaTek MT6769 NB-IoT बेसबैंड फर्मवेयर में स्टैक-आधारित बफ़र ओवरफ़्लो, जिसमें रिवर्स इंजीनियरिंग और एक्सप्लॉइटेशन चेन शामिल है।
वर्गीकरण: CWE-121 — स्टैक-आधारित बफ़र ओवरफ़्लो
गंभीरता: क्रिटिकल (MediaTek बुलेटिन) · 8.8 उच्च, अटैक वेक्टर: आसन्न (CISA-ADP)
प्रकार: रिमोट कोड एक्ज़ीक्यूशन — कोई उपयोगकर्ता इंटरैक्शन नहीं, कोई पूर्व संबद्धता नहीं
प्रकटीकरण: MediaTek सुरक्षा बुलेटिन, 6 जनवरी, 2025 https://corp.mediatek.com/product-security-bulletin/January-2025
विश्लेषित लक्ष्य: Samsung Galaxy A14 SM-A145R — MT6769 परिवार (Helio G80), MediaTek की प्रभावित चिपसेट सूची के भीतर - फ़र्मवेयर को सुरक्षित परिस्थितियों में एमुलेट किया गया था।
स्थिति: पैच किया गया।
यह मेरा पहला प्रकाशित बेसबैंड शोध था। मैं एक ऐसी पृष्ठभूमि से आता हूँ जो दूर है टेलीकॉम इन्फ्रास्ट्रक्चर, लॉफुल इंटरसेप्शन मीडिएशन लेयर्स, स्टिंगरे और IMSI-कैचर विश्लेषण, और एम्बेडेड डिवाइस सुरक्षा से — मैंने पहले सेलुलर मॉडेम पर गहरा फ़र्मवेयर रिवर्स इंजीनियरिंग नहीं किया था। मैं स्वयं को यह साबित करना चाहता था कि एक संरचित विश्लेषणात्मक कार्यप्रणाली विभिन्न लक्ष्यों पर अनुकूलित होती है, और यह कि किसी विशिष्ट प्लेटफ़ॉर्म की परिचितता को कठोर चेन-ट्रेसिंग से प्रतिस्थापित किया जा सकता है। NB-IoT इसलिए अलग दिखा क्योंकि यह वास्तव में एक खतरनाक प्रतिच्छेदन पर स्थित है: प्रोटोकॉल को सीमित IoT उपकरणों के लिए डिज़ाइन किया गया है, हमले की सतह पूर्व-संबद्धता है, और मॉडेम स्टैक इसे संसाधित करता है चाहे हैंडसेट उपयोगकर्ता कुछ भी कर रहा हो।
जब पैच किए गए फ़र्मवेयर का विश्लेषण किया गया और कमजोर पैटर्न की अनुपस्थिति की पुष्टि हुई, तो विशिष्ट कार्यों को लक्षित करने से पहले फ़र्मवेयर के बड़े पैमाने पर विश्लेषण के लिए उपयोग किया गया AI सिस्टम
स्वतंत्र रूप से पुनर्निर्मित बग वर्ग, स्थितियों, और प्रभावित फ़र्मवेयर परिवार को CVE-2024-20154 के विवरण से मिलान किया।
तकनीकी निष्कर्ष विश्लेषक के स्वयं के हैं।
आपकी जेब में मौजूद फ़ोन में कम से कम दो अलग-अलग कंप्यूटर हैं। जिसके साथ आप इंटरैक्ट करते हैं वह Android चलाता है। दूसरा — बेसबैंड — पूरी तरह से स्वतंत्र रूप से चलता है, सभी रेडियो संचार को संभालता है, और इसके ऊपर के ऑपरेटिंग सिस्टम के लिए लगभग पूरी तरह से अदृश्य है। Android पूरी तरह से पैच किया गया हो सकता है। ब्राउज़र सैंडबॉक्स्ड हो सकता है। उपयोगकर्ता कभी भी किसी दुर्भावनापूर्ण लिंक पर टैप न करे। इनमें से कोई भी मायने नहीं रखता यदि कमजोर कोड उस मॉडेम फ़र्मवेयर में है जो रेडियो सिग्नल को एप्लिकेशन प्रोसेसर के शामिल होने से पहले संसाधित करता है।
CVE-2024-20154 बिल्कुल इसी प्रकार की कमजोरी है।
एक विकृत NB-IoT सिस्टम-सूचना प्रसारण MediaTek मॉडेम फ़र्मवेयर को एक हमलावर-नियंत्रित शेड्यूलिंग काउंट स्वीकार करने, उस काउंट को RRC-से-L1 कॉन्फ़िगरेशन पथ के माध्यम से बिना कभी क्लैंप किए ले जाने, और अंततः इसे NB-IoT ब्रॉडकास्ट-चैनल हैंडलर के अंदर एक स्टैक-राइटिंग लूप के लूप बाउंड के रूप में उपयोग करने का कारण बनता है। जब काउंट गंतव्य सरणियों की क्षमता से अधिक हो जाता है, तो लूप उनसे आगे लिखता है, स्टैक पर सहेजे गए रजिस्टरों तक पहुँचता है, और सहेजे गए रिटर्न एड्रेस को अधिलेखित कर देता है। फिर फ़ंक्शन भ्रष्ट मान को रिटर्न-एड्रेस रजिस्टर में पुनर्स्थापित करता है और उस पर जंप करता है।
गंभीरता को जो चीज़ यह बनाती है:
यह कमजोरी MediaTek के 6 जनवरी, 2025 सुरक्षा बुलेटिन में क्रिटिकल गंभीरता रेटिंग के साथ प्रकाशित की गई थी, जो अन्य के अलावा LR12A मॉडेम परिवार को प्रभावित करती है। Samsung ने फ़िक्स को अपनी फरवरी 2025 सुरक्षा रखरखाव रिलीज़ में शामिल किया।
यह पोस्ट कोई हथियारबंद एक्सप्लॉइट प्रकाशित नहीं करती है और यहाँ जो प्रकाशित है उससे पुनरुत्पादनीय नहीं है। लक्ष्य यह दिखाना है कि चेन कहाँ टूटती है, प्रत्येक परत इसे रोकने में क्यों विफल रही, और जब आप लाइव मॉडेम से डीबगर संलग्न नहीं कर सकते तो बेसबैंड बग को ज़िम्मेदारी से मान्य करने में क्या लगता है।
प्राथमिक लक्ष्य: Samsung Galaxy A14 (SM-A145R)। रेडियो सबसिस्टम को MT6769 चिपसेट परिवार (Helio G80) में एक MediaTek बेसबैंड प्रोसेसर द्वारा संचालित किया जाता है। MT6769 परिवार CVE-2024-20154 के लिए MediaTek की प्रभावित चिपसेट सूची में स्पष्ट रूप से सूचीबद्ध है।``` AP/CP firmware: A145RXXU1AWD1 Modem software: MOLY LR12A.R3.TC10.6M.A14.PR.SP.V1.P5 Build date: 2023-04-18
बेसबैंड फर्मवेयर Android कोड नहीं है। यह SoC के रेडियो सबसिस्टम पर एक अलग एम्बेडेड सिस्टम है, जिसका अपना CPU, अपना RTOS, और अपना मेमोरी स्पेस है, जो Android प्रोसेस सैंडबॉक्स के बाहर है।
### 2.2 मॉडेम आर्किटेक्चर
निकाले गए बाइनरी के विश्लेषण से पता चलता है कि मॉडेम प्रोसेसर MIPS32 को लिटिल-एंडियन मोड में MIPS16e2 कंप्रेस्ड इंस्ट्रक्शन्स के साथ चलाता है। MIPS16e2 एम्बेडेड कोड-साइज़ कमी के लिए एक 16-बिट एन्कोडिंग एक्सटेंशन है — जो MediaTek के Helio-जनरेशन बेसबैंड के लिए दृष्टिकोण के अनुरूप है, जिसकी पुष्टि इस SoC परिवार पर स्वतंत्र रूप से प्रकाशित बेसबैंड शोध द्वारा की गई है।
ऑपरेटिंग सिस्टम Nucleus RTOS है, जो टास्क शेड्यूलिंग, IPC मैसेज क्यूज़, और एक पूल-आधारित मेमोरी एलोकेटर प्रदान करता है। इसमें कोई कर्नेल/यूज़र प्रिविलेज सेपरेशन नहीं है, टास्क के बीच कोई मेमोरी प्रोटेक्शन यूनिट एनफोर्समेंट नहीं है, और कोई हार्डवेयर स्टैक-गार्ड मेकैनिज़्म नहीं है।
इस पोस्ट में सभी एड्रेस वर्चुअल एड्रेस हैं, जैसा कि Ghidra में बेस `0x90000000` पर लोड किए गए हैं।
### 2.3 मिटिगेशन्स (विश्लेषित बिल्ड में देखे गए)
| मिटिगेशन | स्थिति | प्रभाव |
|---|---|---|
| ASLR | अनुपस्थित | फर्मवेयर एड्रेस स्थिर और इमेज से पूर्वानुमेय हैं |
| स्टैक कैनरी | अनुपस्थित | `SAVE`/`RESTORE` कैली-सेव्ड रजिस्टर्स को बिना किसी गार्ड वैल्यू के स्टोर करता है |
| NX / W^X | अनुपस्थित | स्टैक मेमोरी एक्ज़ीक्यूटेबल है |
| CFI | अनुपस्थित | रिटर्न एड्रेस किसी भी पॉलिसी के विरुद्ध वैलिडेट नहीं किए जाते |
### 2.4 विश्लेषण दृष्टिकोण
तीन समानांतर ट्रैक:
**स्टैटिक विश्लेषण।** Samsung फर्मवेयर पैकेज → CP पार्टीशन एक्सट्रैक्शन → `md1img.img` → Ghidra (MIPS LE 32-bit, बेस `0x90000000`) के साथ MediaTek इंजीनियरिंग सिंबल्स जो NCC Group `mtk_bp` टूलसेट का उपयोग करके फर्मवेयर डीबग सेक्शन से रिकवर किए गए।
**डायनामिक वैलिडेशन।** Unicorn Engine (MIPS32 एमुलेशन) का उपयोग दो चरणों में विशिष्ट फर्मवेयर रूटीन्स को अलगाव में निष्पादित करने के लिए किया गया था। चरण 1 ने नेटिव इंस्ट्रक्शन पेयर के माध्यम से चैनल कॉन्टेक्स्ट में `si_count` की अनक्लैम्प्ड कॉपी को सिद्ध करने का प्रयास किया। चरण 2 ने वास्तविक फर्मवेयर बाइट्स पर कमज़ोर लूप को निष्पादित किया और पुष्टि की कि फर्मवेयर के स्वयं के इंस्ट्रक्शन्स सेव्ड रिटर्न एड्रेस को करप्ट कर देते हैं। जहाँ चरण 1 पूरी तरह से नेटिव रूप से नहीं चल सका — क्योंकि CPHY डिस्पैच पाथ द्वारा आवश्यक RTOS सर्विस-ऑब्जेक्ट एनवायरनमेंट का पुनर्निर्माण नहीं किया गया था — वहाँ साइड इफेक्ट को सीधे मॉडल किया गया और सभी आउटपुट में उसी रूप में लेबल किया गया।
**रेडियो-साइड वैलिडेशन।** srsRAN 4G के साथ एक ZMQ लूपबैक — केवल सॉफ़्टवेयर, कोई RF एमिशन नहीं — ने पुष्टि की कि टेस्ट पेलोड NB-IoT PHY एन्कोडिंग और ट्रांसपोर्ट-ब्लॉक डिलीवरी से बच जाता है।
---
## 3. अटैक सरफेस: NB-IoT और SIB1-NB
### 3.1 प्री-एसोसिएशन अटैक सरफेस
NB-IoT (Narrowband Internet of Things) 3GPP Release 13 है, जिसे मौजूदा लाइसेंस्ड LTE स्पेक्ट्रम का उपयोग करके सीमित IoT डिवाइसों को जोड़ने के लिए डिज़ाइन किया गया है। यह उपभोक्ता स्मार्टफोन सहित आधुनिक सेलुलर SoCs की एक विस्तृत श्रृंखला में लागू किया गया है।
RRC_IDLE में रहते हुए, किसी भी RRC कनेक्शन के स्थापित होने से पहले, सेवा की खोज करने वाला डिवाइस:
1. सेल के टाइमिंग सिग्नल्स (NPSS/NSSS) के साथ सिंक्रोनाइज़ करेगा
2. NPBCH पर Master Information Block को डिकोड करेगा (640 ms ट्रांसमिशन विंडो)
3. NPDSCH से SIB1-NB को डिकोड करेगा (2560 ms शेड्यूल)
4. SIB1-NB में शेड्यूलिंग जानकारी का उपयोग करके अतिरिक्त सिस्टम इन्फॉर्मेशन ब्लॉक्स का पता लगाएगा