Skip to content

5Ghoul: MediaTek 5G modem vulnerabilities (CVE-2023-32842/32844/20702/32846/32841/32843/32845)

Sahte (rogue) bir 5G baz istasyonu, NAS security kurulmadan önce bozuk downlink RRC/RLC frame'leri göndererek MediaTek Dimensity 5G modem firmware'ini havadan (over the air) crash ettirir veya reboot'a sokar.

Mechanism

Note

5Ghoul, ASSET Research Group (NUS) tarafından açıklanan, ticari 5G NR (New Radio) modem firmware'lerindeki bir implementation flaw ailesidir. İhlal edilen temel invariant şudur: modem, karşılıklı authentication tamamlanmadan önce downlink control-plane mesajlarına güven uzatıyor.

5G attach prosedürü sırasında cihaz (UE) ile network, NAS-layer security ve authentication müzakere edilmeden önce Radio Resource Control (RRC) ve alt katman (MAC/RLC) mesajlarını değiş tokuş eder. Cihaz bu noktada meşru bir gNB ile sahte bir gNB'yi henüz ayırt edemediği için bu frame'leri körü körüne parse edip onlara göre davranmak zorundadır. MediaTek modem firmware'i (açıklamada Dimensity 900/1200) ASN.1-encoded RRC yapıları için (spCellConfig, pucch/CSIReportConfig, searchSpacesToAddModList, physicalCellGroupConfig, uplink config element'leri) ve RLC PDU'lar için spec dışı veya truncated encoding'lere karşı hardened olmayan parser'lar içerir.

Radio link'i kontrol eden bir attacker (SDR + open-source bir 5G stack'ten kurulmuş bir rogue gNB) UE'ye bozuk bir frame verdiğinde, parser ya bir reachable assert'e (firmware'i abort ettiren internal bir sanity check) çarpar ya da null/invalid bir pointer'ı dereference ederek modem'i fault'a sokar. Bu pre-authentication gerçekleştiği için attacker'ın hiçbir SIM secret'ına veya önceden pairing'e ihtiyacı yoktur — aşılan trust boundary şudur: "camp ettiğim cell üzerinde gönderilen her şey iyi niyetli bir network olmalı."

Walkthrough

ASSET grubu bu bug'ları bir over-the-air fuzzing framework ile buldu: bir rogue gNB ve 5G core (OpenAirInterface ve Open5GS üzerine kurulu) gerçek bir hedef handset'e gönderilen downlink frame'leri mutate eder, ardından modem crash'leri, reboot'lar veya connectivity kaybı için izler.

Açıklamaya göre MediaTek tarafındaki CVE'ler ve trigger'ları:

CVE Kısa ad Bug sınıfı Trigger (katman)
CVE-2023-32842 Invalid RRC Setup spCellConfig Reachable assert Bozuk RRC Setup spCellConfigDedicated
CVE-2023-32844 Invalid RRC pucch CSIReportConfig Reachable assert Hatalı searchSpacesToAddModList element'i içeren RRC Setup
CVE-2023-20702 Invalid RLC Data Sequence Null pointer deref Bozuk RLC Status PDU / RLC header alanları
CVE-2023-32846 Truncated RRC physicalCellGroupConfig Null deref / mem access Truncated RRC Setup physicalCellGroupConfig
CVE-2023-32841 Invalid RRC searchSpacesToAddModList Reachable assert Hatalı monitoringSymbolsWithinSlots alanı
CVE-2023-32843 Invalid RRC Uplink Config Element Reachable assert Hatalı qcl-Type / resourceAllocation değerleri
CVE-2023-32845 Null RRC Uplink Config Element Reachable assert pdsch-Config'in release olarak ayarlanıp uplink element'inin null bırakılması

Note

CVE-2023-20702'nin ID'si diğerlerinden (CVE-2023-32841..32846) sayısal olarak düşüktür; bu bir typo değildir. MediaTek kendi CNA'sı olarak CVE-2023-207xx bloğundan numara atar, dolayısıyla aynı yıl içinde farklı bir aralık kullanılır. Bu CVE, MediaTek advisory'sinde (RLC / NRLC DoS) ve NVD'de doğrulanmıştır.

Kavramsal olarak attacker rogue cell'i ayağa kaldırır, kurban'ın camp edip RRC setup'a başlamasına izin verir, ardından mutate edilmiş bir downlink frame inject eder:

[rogue gNB]  -- RRC Connection Setup (spCellConfigDedicated mutated) -->  [victim UE]
[victim modem firmware]  -- parse ASN.1 --> reachable assert / NULL deref --> CRASH
Observed effect

Açıklama, inject edilen her frame başına modem'in crash olup reboot ettiğini (saniyeler mertebesinde) bildiriyor. Sürekli denial of service, rogue cell'i aktif tutup her re-attach'te bozuk frame'i tekrar inject eden bir attacker tarafından sağlanır; bu, kurban için sürekli bir reboot loop'u ve 5G connectivity kaybı üretir.

Warning

Bunlar production handset'lere karşı gerçek radio-layer saldırılarıdır. Bunları yeniden üretmek, bir SDR'dan lisanslı 5G spectrum üzerinde yayın yapmayı gerektirir; bu, yetki olmadan yasa dışıdır ve yakındaki meşru cihazları bozabilir. Bu tür çalışmayı yalnızca uygun yetkiyle, shielded/Faraday bir test ortamında yapın.

Detection

Semptom seviyesinde tespit: açıklanamayan baseband/modem crash'leri ve reboot'lar, tekrarlayan RRC re-attach'ler veya bir rogue cell mevcutken beklenmedik 5G servis kaybı. Network tarafında, tanınan bir PLMN yayınlayan yetkisiz bir gNB'nin varlığı rogue-base-station monitoring ile tespit edilebilir.

Mitigation

MediaTek, etkilenen Dimensity modem'leri için firmware patch'leri yayınladı (cihaz vendor'larına teslim edilip OEM security update'leri üzerinden push edildi). Genel savunma ilkesi, pre-authentication RRC/RLC/MAC parser'larını spec dışı encoding'lere karşı hardening yapmak ve reachable assert'leri firmware abort yerine zarif (graceful) error handling ile değiştirmektir. Handset firmware/security patch seviyesini güncel tutun.

References