MediaTek Wi‑Fi yonga setlerindeki kritik exploit: zero-click güvenlik açığı
(blog.sonicwall.com)MediaTek Wi‑Fi yonga setlerindeki ciddi açık: Zero-Click güvenlik açığı (CVE-2024-20017) router ve akıllı telefonları tehdit ediyor
Genel bakış
- SonicWall Capture Labs tehdit araştırma ekibi, CVE-2024-20017 güvenlik açığını tespit etti, etkisini değerlendirdi ve azaltım önlemleri geliştirdi
- CVE-2024-20017, CVSS 3.0 puanı 9.8 olan kritik bir zero-click güvenlik açığıdır ve MediaTek Wi‑Fi yonga seti MT7622/MT7915 ile RTxxxx SoftAP sürücü paketlerini etkiler
- Ubiquiti, Xiaomi, Netgear gibi çeşitli üreticilerin ürünlerinde kullanılan MediaTek SDK sürüm 7.4.0.1 ve önceki sürümler ile OpenWrt 19.07 ve 21.02 etkilenmektedir
- Bu açık, kullanıcı etkileşimi olmadan uzaktan kod çalıştırmaya izin verir ve MediaTek bunu azaltmak için yamalar yayımlamıştır
- Açık mart ayında duyurulup yamalanmış olsa da, yakın zamanda yayımlanan PoC nedeniyle kötüye kullanılma olasılığı artmıştır
Teknik genel bakış
- Açık, MediaTek MT7622/MT7915 SDK ve RTxxxx SoftAP sürücü paketinde yer alan ağ daemon'u
wappdiçinde bulunur wappd, kablosuz arayüzleri ve erişim noktalarını yapılandırma ve yönetme görevini üstlenir; özellikle de Hotspot 2.0 teknolojisiyle ilişkilidirwappdmimarisi; ağ hizmetinin kendisi, cihazın kablosuz arayüzleriyle etkileşen yerel hizmet kümesi ve Unix domain socket üzerinden bileşenler arası iletişim kanallarından oluşur- Açık, saldırganın kontrol ettiği paket verisinden doğrudan alınan bir uzunluk değerinin bellek kopyalama işleminde kullanılması sonucu oluşan bir buffer overflow nedeniyle meydana gelir
Açığın tetiklenmesi
- Açık,
IAPP_RcvHandlerSSBfonksiyonunda ortaya çıkar ve saldırganın kontrol ettiği uzunluk değeriIAPP_MEM_MOVEmakrosuna aktarılır - Maksimum paket uzunluğu olan 1600 baytı aşmadığını doğrulamak dışında herhangi bir sınır kontrolü yapılmaz
- Saldırgan, beklenen yapıyı saldırı yükünün önüne ekleyerek paketi göndermelidir
RT_IAPP_HEADERyapısının uzunluğu küçük olmalı veRT_IAPP_HEADER.Commandalanı 50 olmalıdır
İstismar
- Yayımlanan exploit kodu, global address table overwrite tekniğiyle uzaktan kod çalıştırma elde etmek için bir ROP zinciri kullanır
system()çağrısından yararlanarak saldırgana reverse shell gönderen komutu çalıştırır- Reverse shell, Bash ve Netcat araçları kullanılarak kurulur
SonicWall koruması
- SonicWall müşterilerinin bu açıktan kaynaklanan istismarlara karşı korunabilmesi için aşağıdaki imzalar dağıtılmıştır
- IPS: 20322 MediaTek MT7915 wlan Service OOB Write 1
- IPS: 20323 MediaTek MT7915 wlan Service OOB Write 2
Azaltım önerileri
- Exploit kodu yayımlandığı için, kullanıcıların ilgili yonga setleri için en güncel firmware sürümüne yükseltme yapması önemle tavsiye edilmektedir
İlgili bağlantılar
GN⁺ özeti
- Bu yazı, MediaTek Wi‑Fi yonga setlerindeki kritik bir zero-click güvenlik açığını ele alıyor; bu açık kullanıcı etkileşimi olmadan uzaktan kod çalıştırmaya izin veriyor
- SonicWall araştırma ekibi bu açığı tespit edip azaltım önlemleri geliştirdi ve kullanıcılara en güncel firmware sürümüne yükseltme yapmalarını önerdi
- Açık, çeşitli üreticilerin router ve akıllı telefonlarını etkiliyor; yakın zamanda yayımlanan PoC nedeniyle kötüye kullanılma riski yükselmiş durumda
- Benzer işlevlere sahip ürünler arasında Qualcomm’un Wi‑Fi yonga setleri de bulunuyor; güvenlik güncellemelerini düzenli olarak kontrol etmek önem taşıyor
1 yorum
Hacker News yorumları
MediaTek’in tedarikçi SDK sürücü kaynak kodunu mt76 ile karşılaştırmış biri olarak bu pek şaşırtıcı değil. En iyi ihtimalle bile dağınık
Ne yazık ki mt76’dan biraz daha fazla aktarım hızı verdiği için, tedarikçi sürücüsünü içeren bazı üçüncü taraf firmware derlemeleri de ortalıkta dolaşıyor
Neyse ki MediaTek ve WiSoC bölümünde özgür/açık kaynak yazılım topluluğuyla aktif iletişim kuran birkaç mühendis var ve mt76 tabanlı küçük bir OpenWrt fork’unu da bizzat sürdürüyorlar: https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk...
Başlıktaki ifade biraz yanıltıcı. Evde mt76 Wi-Fi içeren birkaç router olduğu için firmware ya da silikon hatası sanıp bağlantıya tıkladım; meğer tedarikçinin SDK’sındaki ıvır zıvır kod hatasıymış, rahatladım
Ana hat kernel ve hostapd’de mt76 desteği gayet iyi olmasına rağmen birinin bunu kullanmaya çalışmış olmasını anlamıyorum
“Ubiquiti, Xiaomi, Netgear vb. dahil olmak üzere çeşitli üreticilerin ürünlerinde kullanılan sürücü paketi” deniyor
Ancak Ubiquiti gibi gerçek ürünlerde bunu kullanmadığını açıklayan tedarikçiler de var: https://community.ui.com/questions/CVE-2024-20017/b3f1a425-d...
Orijinal blog: https://blog.coffinsec.com/0day/2024/08/30/exploiting-CVE-20...
Uygulama mimarisi biraz karmaşık olsa da özünde bir ağ servisi, cihazın kablosuz arayüzleriyle etkileşen yerel servisler ve bileşenler arası iletişim için Unix domain socket kullanan bir kanaldan oluşuyor
En azından teselli sayılabilecek nokta, bunun temel bant firmware’inin içinde bir hata olmaktan ziyade, kablosuz ağ kartının kendi çalışması için şart olmayan “katma değerli” bir servis tarafındaki bir sorun gibi görünmesi
Bazı cihazların sürücü paketleri aklıma geliyor: asıl sürücü küçük ve sessiz, ama kullanıcıların %99’unun ihtiyaç duymadığı ve istemediği özellikler için birkaç basamak daha büyük bundleware de birlikte kuruluyor. Yazıcılar ve GPU’lar özellikle fena
MediaTek’in adlandırma kurallarında nasıl bir mantık var, yoksa tüm cihazlar sadece MTxxxx olup x artan değer ya da rastgele sayı mı, merak ediyorum
mt6631 Wi-Fi çipi olan bir cihazım var; etkilenenler listesinde olmadığı için muhtemelen sorun yok diyebilirim ama ürün ailesinde nereye denk geldiğini anlamak zor
OpenWrt 19.07 ve 21.02’nin etkilendiği söyleniyor, ama görünüşe göre resmi OpenWrt derlemeleri Mediatek SDK’sını değil yalnızca mt76 sürücüsünü kullanıyor
UBNT donanımında kullanılan bazı yonga setleri için savunmasız sürücü var, ancak o sürücüyü kullanan hiçbir ürünleri olmadığını söylüyorlar
AMD CPU’lu bir laptop alınca neden yanında hep MediaTek RZ616 Wi-Fi kartı geliyor, anlamıyorum
Hepsini Intel Wi-Fi kartlarıyla değiştirdim ve şimdi geleceğin mikroplastiğine dönüşecek bir RZ616 kart yığınım var
Sonu 0 ile biten modeller standart PCIe kullanıyor ve OEM’lere yaklaşık 10 dolar daha pahalıya satılıyor
AMD de OEM’lere Intel’in xx1 çipleriyle aynı fiyat bandında satılacak bir şey oluşturmak için MediaTek MT7921 ve MT7922’yi sırasıyla RZ608 ve RZ616 olarak yeniden markaladı
Qualcomm tarafında, yonga seti nesli artık en yeni olmaktan çıktığında ana hat kernel desteği epey zayıflıyor. Günümüzde Qualcomm’u harekete geçirmek için çok büyük tedarikçi baskısı gerekiyor
Şahsen softmac’i daha çok tercih ediyorum. Bugünlerde iyi seçenek pek yok; ath9k’nin altın çağı geride kaldı
İş için sırayla Intel ThinkPad ve AMD ThinkPad kullandım; AMD tarafındaki MediaTek yonga setli Wi-Fi, Intel tarafındaki Intel yonga setinden çok daha iyiydi
Intel tarafında ağ bağlantısı saatte birkaç kez kopuyor, 5GHz’de bile ssh kullanırken hemen hissedilecek kadar berbat gecikme yaşanıyordu. Şu an kullandığım MT7921 cihaz Linux’ta son 2-3 yıldır çok kararlı
Sonuçta yonga seti ve laptop kombinasyonuna göre epey değişiyor gibi
Telefonumun da MediaTek yonga seti kullandığını hatırlıyorum. Ayrıca üreticinin sonradan MediaTek’ten uzaklaşma nedeninin bu ürünlerin, şey, kalitesi olduğunu belli belirsiz hatırlıyorum
Telefonda Wi-Fi’nin nasıl yapılandırıldığını bilmiyorum. Bu telefonun etkilenip etkilenmediğini kontrol etmenin bir yolu var mı? Sınırsız hücresel verim ve iyi kapsama alanım olduğu için Wi-Fi’yi pek kullanmıyorum ama yine de bilmek iyi olur
"sudo su"çalıştırıp ardındanls /sys/modulekomutuna bakmak yeterliÇıktı lsmod’a benzer görünür
İnsanların bulabildikleri her silikonu satın aldığı şu dönemde bile, böyle C sınıfı tedarikçilerin PC stratejisini izleyip firmware’i tamamen açarak açık kaynak topluluğuna bırakmamasını hâlâ anlayamıyorum
“Etkilenen sürümler arasında MediaTek SDK 7.4.0.1 ve altı ile OpenWrt 19.07, 21.02 bulunuyor”, “Açık, MediaTek MT7622/MT7915 SDK ve RTxxxx SoftAP sürücü paketinde yer alan ağ daemon’u wappd’de” deniyor; ama aslında OpenWRT wappd kullanmıyor gibi
Bu yüzden özgür firmware gerekli. Broadcom ve Ralink’ten artık bıktım