Kerentanan serius pada chipset Wi-Fi MediaTek: kerentanan Zero-Click (CVE-2024-20017) mengancam router dan smartphone
Ringkasan
- Tim riset ancaman SonicWall Capture Labs mengidentifikasi kerentanan CVE-2024-20017, menilai dampaknya, dan mengembangkan langkah mitigasi
- CVE-2024-20017 adalah kerentanan zero-click kritis dengan skor CVSS 3.0 sebesar 9.8, yang memengaruhi chipset Wi-Fi MediaTek MT7622/MT7915 dan bundel driver RTxxxx SoftAP
- MediaTek SDK versi 7.4.0.1 dan versi sebelumnya, serta OpenWrt 19.07 dan 21.02, yang digunakan pada produk dari berbagai produsen seperti Ubiquiti, Xiaomi, dan Netgear, turut terdampak
- Kerentanan ini memungkinkan eksekusi kode jarak jauh tanpa interaksi pengguna, dan MediaTek telah merilis patch untuk memitigasinya
- Kerentanan ini telah diungkap dan ditambal pada bulan Maret, tetapi PoC yang baru-baru ini dipublikasikan meningkatkan kemungkinan eksploitasi
Ikhtisar teknis
- Kerentanan berada pada
wappd, daemon jaringan yang disertakan dalam MediaTek MT7622/MT7915 SDK dan bundel driver RTxxxx SoftAP wappdbertugas mengonfigurasi dan mengelola antarmuka nirkabel serta access point, terutama terkait teknologi Hotspot 2.0- Arsitektur
wappdterdiri dari layanan jaringan itu sendiri, sekumpulan layanan lokal yang berinteraksi dengan antarmuka nirkabel perangkat, serta saluran komunikasi antarkomponen melalui Unix domain socket - Kerentanan ini disebabkan oleh buffer overflow yang terjadi karena nilai panjang yang diambil langsung dari data paket yang dikendalikan penyerang digunakan untuk penyalinan memori
Pemicu kerentanan
- Kerentanan terjadi pada fungsi
IAPP_RcvHandlerSSB, ketika nilai panjang yang dikendalikan penyerang diteruskan ke makroIAPP_MEM_MOVE - Tidak ada pemeriksaan batas selain memastikan bahwa panjang paket maksimum tidak melebihi 1600 byte
- Penyerang harus mengirim paket dengan struktur yang diharapkan ditempelkan di depan payload serangan
- Panjang struktur
RT_IAPP_HEADERharus kecil, dan fieldRT_IAPP_HEADER.Commandharus bernilai 50
Eksploitasi
- Kode eksploit yang dipublikasikan menggunakan rantai ROP untuk mencapai eksekusi kode jarak jauh melalui teknik penimpaan global address table
- Kode tersebut memanfaatkan pemanggilan
system()untuk menjalankan perintah yang mengirim reverse shell ke penyerang - Reverse shell disiapkan menggunakan Bash dan alat Netcat
Perlindungan SonicWall
- Agar pelanggan SonicWall dapat bersiap terhadap eksploitasi yang memanfaatkan kerentanan ini, tanda tangan berikut telah dirilis
- IPS: 20322 MediaTek MT7915 wlan Service OOB Write 1
- IPS: 20323 MediaTek MT7915 wlan Service OOB Write 2
Rekomendasi mitigasi
- Karena kode eksploit telah dipublikasikan, pengguna sangat disarankan untuk melakukan upgrade ke versi firmware terbaru untuk chipset terkait
Tautan terkait
Ringkasan GN⁺
- Artikel ini membahas kerentanan zero-click yang sangat serius pada chipset Wi-Fi MediaTek, yang memungkinkan eksekusi kode jarak jauh tanpa interaksi pengguna
- Tim riset SonicWall mengidentifikasi kerentanan ini dan mengembangkan langkah mitigasi, serta merekomendasikan pengguna untuk melakukan upgrade ke firmware terbaru
- Kerentanan ini memengaruhi router dan smartphone dari berbagai produsen, dan PoC yang baru dipublikasikan meningkatkan kemungkinan eksploitasi
- Produk dengan fungsi serupa termasuk chipset Wi-Fi Qualcomm, dan penting untuk secara berkala memeriksa pembaruan keamanan
1 komentar
Komentar Hacker News
Dari sudut pandang orang yang pernah membandingkan kode sumber driver SDK vendor MediaTek dengan mt76, ini tidak terlalu mengejutkan. Kalau mau dibilang bagus pun, kodenya tetap berantakan
Sayangnya, karena throughput-nya sedikit lebih tinggi dibanding mt76, masih ada juga beberapa build firmware pihak ketiga yang memasukkan driver vendor
Untungnya, di MediaTek dan divisi WiSoC ada beberapa engineer yang aktif berkomunikasi dengan komunitas perangkat lunak bebas dan open source, dan mereka juga langsung memelihara fork OpenWrt kecil berbasis mt76: https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk...
Judulnya agak menyesatkan. Saya punya beberapa router di rumah yang memakai mt76 Wi-Fi, jadi saya klik tautannya karena mengira ini bug firmware atau silikon, lalu lega setelah tahu ternyata ini bug di kode rongsokan SDK vendor
Dukungan mt76 di kernel mainline dan hostapd sudah cukup bagus, jadi saya tidak paham kenapa ada orang yang masih mau memakai itu
Tertulis “bundel driver yang dipakai pada produk dari berbagai pabrikan, termasuk Ubiquiti, Xiaomi, Netgear, dan lainnya”
Meski begitu, ada juga vendor seperti Ubiquiti yang menyatakan mereka tidak memakainya di produk aktual: https://community.ui.com/questions/CVE-2024-20017/b3f1a425-d...
Blog asli: https://blog.coffinsec.com/0day/2024/08/30/exploiting-CVE-20...
Struktur aplikasinya agak kompleks, tetapi pada dasarnya terdiri dari satu layanan jaringan, layanan-layanan lokal yang berinteraksi dengan antarmuka nirkabel perangkat, serta saluran komunikasi antarkomponen yang memakai Unix domain socket
Sedikit melegakan bahwa ini terdengar lebih seperti masalah pada layanan “nilai tambah” yang tidak benar-benar dibutuhkan agar kartu jaringan nirkabel bisa berfungsi, daripada bug di firmware baseband
Ini mengingatkan pada beberapa paket driver perangkat di mana driver aslinya sebenarnya kecil dan tenang, tetapi ikut memasang bundelware yang berkali-kali lipat lebih besar untuk fitur-fitur yang 99% pengguna tidak butuhkan dan tidak inginkan. Printer dan GPU sangat parah soal ini
Saya penasaran apakah ada logika tertentu di balik aturan penamaan MediaTek, atau semua perangkat memang cuma diberi nama MTxxxx dan angka x itu sekadar urutan atau angka acak
Saya punya perangkat dengan chip Wi-Fi mt6631, dan walaupun saya bisa berasumsi aman karena tidak ada di daftar yang terdampak, sulit tahu posisinya di keluarga produk mereka
Disebutkan bahwa OpenWrt 19.07 dan 21.02 terdampak, tetapi sepintas build OpenWrt resmi tampaknya hanya memakai driver mt76, bukan SDK Mediatek
Memang ada driver rentan untuk beberapa chipset yang dipakai di hardware UBNT, tetapi katanya tidak ada satu pun produk yang benar-benar memakai driver tersebut
Setiap kali membeli laptop dengan CPU AMD, entah kenapa selalu ikut dapat kartu Wi-Fi MediaTek RZ616
Saya selalu menggantinya dengan kartu Wi-Fi Intel, dan sekarang jadi punya tumpukan kartu RZ616 yang akan menjadi mikroplastik masa depan
Model yang digit terakhirnya 0 memakai PCIe standar dan dijual ke OEM kira-kira 10 dolar lebih mahal
AMD lalu me-rebrand MediaTek MT7921 dan MT7922 menjadi RZ608 dan RZ616 agar punya produk yang bisa dijual ke OEM pada kisaran harga yang sama dengan chip xx1 milik Intel
Qualcomm juga cenderung sangat minim kapasitas dukungan ke kernel mainline begitu suatu generasi chipset tidak lagi tergolong baru. Sekarang ini perlu tekanan vendor yang sangat besar untuk membuat Qualcomm bergerak
Secara pribadi saya lebih suka softmac. Belakangan ini tidak banyak pilihan bagus, dan masa keemasan ath9k sudah lewat
Saya pernah bergantian memakai ThinkPad Intel dan ThinkPad AMD untuk kerja, dan Wi-Fi chipset MediaTek di mesin AMD jauh lebih baik daripada chipset Intel di mesin Intel
Di mesin Intel, koneksi jaringan putus beberapa kali per jam, dan bahkan di 5GHz latensinya sangat buruk sampai langsung terasa saat memakai ssh. Perangkat MT7921 yang saya pakai sekarang sangat stabil di Linux selama 2–3 tahun terakhir
Pada akhirnya tampaknya memang cukup bergantung pada kombinasi chipset dan laptopnya
Kalau tidak salah ponsel saya juga memakai chipset MediaTek. Dan saya samar-samar ingat alasan pabrikan kemudian menjauh dari MediaTek adalah, yah, kualitas produk mereka
Saya tidak tahu bagaimana susunan Wi-Fi di ponsel bekerja. Adakah cara untuk mengecek apakah ponsel ini terdampak? Saya hampir tidak pernah memakai Wi-Fi karena punya data seluler tanpa batas dan cakupan yang bagus, tapi tetap berguna untuk tahu
"sudo su", laluls /sys/moduleOutput-nya akan mirip seperti lsmod
Bahkan di zaman sekarang ketika orang membeli silikon apa pun yang bisa didapat, saya tetap tidak paham kenapa vendor kelas C seperti ini tidak mengikuti strategi PC, membuka firmware sepenuhnya, lalu menyerahkannya ke komunitas open source
Disebutkan bahwa “versi yang terdampak mencakup MediaTek SDK 7.4.0.1 ke bawah serta OpenWrt 19.07 dan 21.02”, dan bahwa “kerentanan berada di wappd, network daemon yang termasuk dalam bundel driver MediaTek MT7622/MT7915 SDK dan RTxxxx SoftAP”, tetapi sepertinya OpenWRT tidak memakai wappd
Inilah sebabnya kita butuh firmware bebas. Saya sudah muak dengan Broadcom dan Ralink