1 poin oleh GN⁺ 2024-09-22 | 1 komentar | Bagikan ke WhatsApp

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
  • wappd bertugas mengonfigurasi dan mengelola antarmuka nirkabel serta access point, terutama terkait teknologi Hotspot 2.0
  • Arsitektur wappd terdiri 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 makro IAPP_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_HEADER harus kecil, dan field RT_IAPP_HEADER.Command harus 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

 
GN⁺ 2024-09-22
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...

    • Entah kenapa hardware/firmware seperti ini terasa seperti kode proof-of-concept yang dideploy ke produksi. Apa memang tidak bisa merekrut orang yang benar-benar paham
    • Penasaran apakah ada siaran pers atau informasi seperti tujuan program itu, atau seberapa banyak dari feed tersebut yang sudah di-merge ke proyek upstream
  • 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

    • Untuk mengatakan “saya lega karena ini bug di kode rongsokan SDK vendor”, ada lebih dari satu vendor yang tetap perlu dikhawatirkan
      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...
    • Disebutkan bahwa lini OpenWRT 21.02.x juga terdampak, meskipun berbasis kernel mainline 5.4. Orang-orang di ranah ini biasanya cukup paham Linux wireless networking, dan setahu saya driver mt76 di kernel mainline juga dipelihara oleh pengembang OpenWRT
  • Blog asli: https://blog.coffinsec.com/0day/2024/08/30/exploiting-CVE-20...

    • Layanan wappd terutama dipakai untuk mengatur dan mengoordinasikan antarmuka nirkabel serta perilaku access point dengan menggunakan Hotspot 2.0 dan teknologi terkait
      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

  • 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

    • Intel menjual dua jenis kartu Wi-Fi. Model yang digit terakhirnya 1 memakai protokol CNVI sehingga hanya berjalan di chip Intel, dan dijual sangat murah ke OEM
      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
    • Lenovo juga sempat kesal dengan MediaTek dan mulai menyolder chip Qualcomm untuk WLAN di platform AMD, tetapi lalu kena masalah lagi karena bug interaksi firmware dan driver di Linux. Ini terjadi meski Lenovo secara resmi menjual dan mendukung Linux
      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
    • iwlwifi juga punya masalah sendiri, dan yang terbesar adalah tidak adanya mode AP 5GHz. Lisensi firmware Intel juga lebih ketat daripada MediaTek, dan karena fullmac, firmware menangani jauh lebih banyak hal
      Secara pribadi saya lebih suka softmac. Belakangan ini tidak banyak pilihan bagus, dan masa keemasan ath9k sudah lewat
    • Penasaran apakah ini berdasarkan pengalaman pemakaian nyata, bukan sekadar “saya tidak percaya MediaTek”
      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

    • Di termux, jalankan "sudo su", lalu ls /sys/module
      Output-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

    • Biasanya situasi seperti ini muncul karena aturan FCC yang mengharuskan perangkat sulit dipakai untuk memancar di luar pita yang diizinkan
  • 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

    • Sebagai kontributor OpenWrt, saya heran kenapa orang tidak membedakan antara OpenWrt dan SDK vendor proprietary. Kalau Nobara punya bug, orang juga tidak akan menyebut Fedora
    • Saya juga penasaran soal itu karena di jaringan rumah saya ada beberapa AP Netgear yang menjalankan OpenWRT. Kalau penjelasannya seperti ini, berarti saya aman?
  • Inilah sebabnya kita butuh firmware bebas. Saya sudah muak dengan Broadcom dan Ralink