- Perangkat lunak DriverHub milik ASUS ditemukan memiliki kerentanan eksekusi kode jarak jauh (RCE) satu klik
- Karena validasi origin yang lemah di lingkungan lokal, situs web berbahaya dapat menjalankan eksekusi dengan hak administrator melalui RPC
- Dengan menyalahgunakan endpoint UpdateApp, kode berbahaya dapat dijalankan melalui kombinasi executable bertanda tangan ASUS dan file ini yang dimanipulasi
- Kerentanan ini dipublikasikan sebagai CVE-2025-3462, CVE-2025-3463, dan ASUS dengan cepat merilis patch
- Saat pelaporan kerentanan, tidak ditemukan kasus eksploitasi nyata, dan ASUS memberikan penghargaan berupa pencantuman di hall of fame alih-alih bug bounty
Introduction
- Berawal dari cerita tentang pembelian komponen PC baru
- Saat membeli motherboard ASUS, opsi BIOS untuk instalasi perangkat lunak otomatis aktif secara default
- Karena lupa mematikan opsi tersebut, setelah login ke Windows muncul permintaan izin untuk menginstal DriverHub
- Karena membutuhkan driver WiFi, timbul rasa penasaran dan DriverHub pun diinstal
DriverHub
- DriverHub adalah proses latar belakang yang berjalan tanpa GUI
- Ia berkomunikasi dengan driverhub.asus.com untuk memberi tahu daftar driver yang perlu diinstal/diperbarui
- Secara lokal, ia menyediakan HTTP API (port 53000) sebagai RPC
- Situs web dapat mengirim permintaan API ke layanan lokal ini untuk langsung mengelola driver
- Disadari bahwa jika keamanannya lemah, penyerang bisa mengirim permintaan sewenang-wenang
Finding the Vulnerability
- Dilakukan percobaan apakah situs web bisa sembarang mengirim permintaan RPC ke backend DriverHub
- Dirancang agar hanya merespons saat Origin adalah “driverhub.asus.com”
- Diperiksa apakah pengecekan Origin dilakukan dengan pencocokan wildcard seperti
origin.includes("driverhub.asus.com")
- Saat Origin diubah menjadi “driverhub.asus.com.mrbruh.com”, ditemukan bahwa permintaan tetap diizinkan
- Dengan metode ini dipastikan ada risiko serius bahwa penyerang dapat melakukan pemanggilan RPC dari situs berbahaya
The Extent of the Damage
- Melalui reverse engineering dan analisis JavaScript, berhasil diidentifikasi daftar endpoint API yang dapat digunakan di latar belakang
- Endpoint utama:
- Initialize: mengembalikan status dan informasi instalasi
- DeviceInfo: mengembalikan perangkat lunak/driver/perangkat keras ASUS yang terinstal serta alamat MAC
- Reboot: langsung melakukan reboot
- Log: mengembalikan kumpulan file log
- InstallApp: menginstal aplikasi atau driver dengan ID yang ditentukan
- UpdateApp: mengunduh lalu menjalankan executable dari URL yang ditentukan (otomatis dijalankan bila ditandatangani ASUS)
- Secara khusus disorot bahwa UpdateApp dapat disalahgunakan
Achieving RCE
- Endpoint UpdateApp dianalisis secara rinci
- Pada parameter “Url” ada syarat harus memuat
.asus.com, tetapi ada kemungkinan untuk dilewati; nama file mengikuti bagian akhir URL
- Hanya executable yang ditandatangani ASUS yang dijalankan otomatis, tetapi file tak bertanda tangan juga tetap diunduh dan tidak dihapus
- Ditinjau kemungkinan serangan timing yang mengganti file tepat sebelum dieksekusi setelah lolos verifikasi tanda tangan, namun dianggap tidak praktis
- Saat menganalisis struktur paket driver WiFi ASUS, ditemukan bahwa properti SilentInstallRun pada AsusSetup.ini dapat digunakan untuk menjalankan perintah arbitrer
- Rantai serangan akhirnya:
- Penyerang mengarahkan korban untuk mengakses situs subdomain driverhub.asus.com. *
- Situs meminta
calc.exe berbahaya melalui UpdateApp (hanya diunduh, tidak dijalankan)
- Meminta
AsusSetup.ini kustom (SilentInstallRun=calc.exe, juga tidak dijalankan)
- Meminta
AsusSetup.exe yang ditandatangani (otomatis dijalankan dengan hak administrator, membaca ini dengan flag -s lalu menjalankan calc.exe)
- Hasilnya, RCE satu klik yang menjalankan kode arbitrer jarak jauh dengan hak administrator pun terjadi
Reporting Timeline (DD/MM/YYYY)
- 07/04/2025: Kerentanan pertama kali ditemukan
- 08/04/2025: Bukti RCE dibuat dan kerentanan dilaporkan
- 09/04/2025: Menerima balasan otomatis dari ASUS
- 17/04/2025: Patch dirilis dan build patch diterima
- 18/04/2025: Dipastikan patch sudah live
- 09/05/2025: CVE-2025-3462 (skor 8.4), CVE-2025-3463 (skor 9.4) dipublikasikan
Assessing the Damage
- Segera setelah melaporkan kerentanan, dibuat skrip pelacakan certificate transparency
- Riwayat penerbitan sertifikat untuk subdomain
driverhub.asus.com.* dipantau
- Hasil pemantauan selama 1 bulan menunjukkan tidak ada situs lain yang lolos filter selain pengujian pribadi
- Dikonfirmasi bahwa tidak ada indikasi eksploitasi sebelumnya
Bug Bounty
- Ditanyakan kepada ASUS mengenai pembayaran bug bounty, namun ditolak
- Sebagai gantinya, penghargaan diberikan dalam bentuk pencantuman di hall of fame
- Ditambahkan penjelasan bahwa meskipun ASUS adalah perusahaan besar, kebijakan bounty-nya masih kurang memadai
Fun Notes
- Saat mengirim formulir Security Advisory ASUS, PoC diblokir oleh Amazon CloudFront sebagai permintaan berbahaya
- Saat menekan “Install All” di DriverHub, perangkat lunak lain (Norton360, WinRAR, dll.) ikut dipasang secara paksa
- Deskripsi CVE ambigu dan tidak sesuai fakta, sehingga bisa menimbulkan kesalahpahaman bahwa 'desktop/laptop tidak terdampak' (padahal sebenarnya semua perangkat yang menginstal DriverHub terdampak)
- WiFi masih tetap tidak berfungsi, sehingga perlu membeli adaptor WiFi USB eksternal
- Untuk pertanyaan, tersedia Signal: paul19.84, email: contact [at] mrbruh.com
1 komentar
Komentar Hacker News
driverhub.asus.com.*) yang memenuhi syarat, tetapi itu hanya benar jika tidak ada pihak yang mendaftarkan subdomain di bawah driverhub secara terpisah. Dengan wildcard, ini bisa saja tidak terlihat di certificate transparency log dan tetap bisa dieksploitasi.*.example.comhanya berlaku untuktest.example.com, bukantest.test.example.com. Jika seseorang memiliki wildcard*.asus.com.example.com, makadriverhub.asus.com.example.comakan menjadi valid..example.com, maka eksploitasi sebenarnya bisa dilakukan dari lokasi yang bukandriverhub.asus.com. Karena itu, pemantauan CT log saja tidak cukup sempurna untuk mendeteksi kerentanan pengambilalihan subdomain seperti ini.