Skip to content

QualPwn: Exploiting Qualcomm WLAN and Modem Over The Air

Qualcomm WLAN-firmware ve Linux kernel-driver bug'larından oluşan bir zincir, aynı Wi-Fi ağındaki bir saldırganın WLAN/modem'i over the air ele geçirmesine ve ardından WLAN subsystem'inden Android kernel'ine pivot atmasına izin verir.

Mechanism

İki sınır aşılıyor: air -> WLAN firmware, WLAN -> kernel

QualPwn (Tencent Blade, Black Hat USA 2019) WLAN firmware ve kernel driver'ı kapsayan üç zafiyetten oluşur; çekirdek zincir aşağıdaki iki bug'ı birleştirir:

  • CVE-2019-10540 — air'den WLAN firmware'e: Qualcomm WLAN firmware'inin Neighbor Aware Networking (NAN) işlemesindeki bir buffer overflow. Kod, bir NAN availability attribute'undaki count değerini kontrol etmiyor, dolayısıyla özel hazırlanmış bir over-the-air NAN frame'i firmware memory'sini overflow ediyor — hedefin AP'sine association veya authentication gerekmiyor, ağı paylaşmanın ötesinde bir şey istemiyor.
  • CVE-2019-10538 — WLAN'dan kernel'e: Qualcomm'un Linux kernel WLAN driver'ındaki bir kusur, (artık saldırganın kontrolündeki) Wi-Fi chip'inin application processor üzerinde çalışan Android kernel'in bazı kısımlarını overwrite eden malicious input göndermesine izin veriyor.
  • CVE-2019-10539 — WLAN firmware-side overflow: QualPwn üçlüsünün üçüncü bug'ı; public advisory'ye göre WLAN bileşenindeki bir length-check eksikliğinden kaynaklanan bir buffer overflow (firmware-side). Note'ta ayrıntılı reprodüksiyon verilmiyor; -10540 ile birlikte Qualcomm'un kapalı kaynaklı Wi-Fi firmware'inde yamalanmıştır.

Kırılan invariant, radyo/WLAN co-processor ile host kernel arasındaki isolation: host driver, WLAN firmware'inden yukarı gelen veriye güveniyor. İkisini zincirlemek, aynı Wi-Fi ağındaki bir saldırgan için tamamen over the air erişilebilen bir kernel compromise sağlıyor.

Walkthrough

Public Tencent Blade advisory'sinden defansif olarak belgelendi; end-to-end zincir burada reprodüce edilmiyor.

Conceptual chain (per the public research):
1. Attacker and target are on the same Wi-Fi network.
2. Send crafted NAN frames (CVE-2019-10540) to overflow WLAN firmware memory and
   gain control of the WLAN subsystem.
3. From the compromised WLAN firmware, feed malicious data to the kernel WLAN
   driver (CVE-2019-10538) to corrupt and execute in the Android kernel.

Vulnerable bir cihazda beklenen sonuç: WLAN firmware compromise, ardından Android kernel code execution, hepsi over the air. Qualcomm, 2019 disclosure'ından önce sorunları yamaladı.

Detection

  • Yerel ağdaki anormal NAN/Wi-Fi management frame'leri ve beklenmedik WLAN subsystem crash'leri/reset'leri birer indicator'dır.
  • Yakındaki Wi-Fi aktivitesiyle korele olan kernel WLAN driver crash'leri.

Mitigation

  • CVE-2019-10538 / -10539 / -10540 için Qualcomm/Android security patch'lerini (Aug 2019) uygulayın.
  • Untrusted ağlarda Wi-Fi / NAN'ı devre dışı bırakın; wireless segment'leri ayırın ve monitor edin.

References