- In der DriverHub-Software von ASUS wurde eine One-Click-Schwachstelle zur Remote Code Execution (RCE) entdeckt
- Aufgrund einer schwachen Origin-Prüfung lokal kann eine bösartige Website per RPC eine Ausführung mit Administratorrechten erreichen
- Durch Missbrauch des UpdateApp-Endpunkts lässt sich schädlicher Code mithilfe einer Kombination aus einer von ASUS signierten ausführbaren Datei und einer manipulierten ini-Datei ausführen
- Die Schwachstelle wurde als CVE-2025-3462, CVE-2025-3463 veröffentlicht, und ASUS hat schnell einen Patch bereitgestellt
- Zum Zeitpunkt der Meldung der Schwachstelle wurden keine Fälle realer Ausnutzung festgestellt, und ASUS belohnte den Fund statt mit einer Bug Bounty mit einem Eintrag in die Hall of Fame
Introduction
- Die Geschichte begann mit dem Kauf neuer PC-Komponenten
- Beim Kauf eines ASUS-Mainboards ist die BIOS-Option zur automatischen Software-Installation standardmäßig aktiviert
- Da die Option nicht rechtzeitig deaktiviert wurde, erschien nach der Windows-Anmeldung eine Anfrage zur Installationsberechtigung für DriverHub
- Aus Neugier und wegen des benötigten WiFi-Treibers wurde DriverHub installiert
DriverHub
- DriverHub ist ein Hintergrundprozess ohne GUI
- Es kommuniziert mit driverhub.asus.com und meldet, welche Treiber installiert oder aktualisiert werden müssen
- Lokal stellt es eine HTTP-API (Port 53000) per RPC bereit
- Die Website kann API-Anfragen an diesen lokalen Dienst senden und so die Treiber direkt verwalten
- Dabei wurde erkannt, dass Angreifer bei mangelhafter Absicherung beliebige Anfragen senden könnten
Finding the Vulnerability
- Es wurde getestet, ob eine Website beliebige RPC-Anfragen an das DriverHub-Backend senden kann
- Antworten sollten nur erfolgen, wenn die Origin „driverhub.asus.com“ ist
- Es wurde geprüft, ob die Origin-Prüfung als Wildcard-Match nach dem Muster
origin.includes("driverhub.asus.com") erfolgt
- Als die Origin auf „driverhub.asus.com.mrbruh.com“ geändert wurde, zeigte sich, dass die Anfrage akzeptiert wurde
- Damit wurde bestätigt, dass Angreifer über eine bösartige Website RPC-Aufrufe auslösen können, was ein ernstes Risiko darstellt
The Extent of the Damage
- Durch Reversing und JavaScript-Analyse wurde die Liste der im Hintergrund verfügbaren API-Endpunkte ermittelt
- Wichtige Endpunkte:
- Initialize: gibt Installationsstatus und Informationen zurück
- DeviceInfo: gibt installierte ASUS-Software/Treiber/Hardware/MAC-Adresse zurück
- Reboot: führt sofort einen Reboot durch
- Log: gibt eine Sammlung von Log-Dateien zurück
- InstallApp: installiert eine App oder einen Treiber mit der angegebenen ID
- UpdateApp: lädt eine ausführbare Datei von der angegebenen URL herunter und führt sie aus (bei ASUS-Signatur automatische Ausführung)
- Besonderes Augenmerk lag darauf, dass UpdateApp missbraucht werden kann
Achieving RCE
- Der Endpunkt UpdateApp wurde im Detail analysiert
- Beim Parameter „Url“ besteht die Bedingung, dass
.asus.com enthalten sein muss, wobei es Umgehungsmöglichkeiten gibt; der Dateiname folgt dem URL-Ende
- Nur von ASUS signierte ausführbare Dateien werden automatisch ausgeführt, aber auch unsignierte Dateien werden heruntergeladen und danach nicht gelöscht
- Eine Timing-Attacke, bei der die Datei nach bestandener Signaturprüfung direkt vor der Ausführung ersetzt wird, wurde geprüft, war jedoch unpraktisch
- Bei der Analyse der Struktur eines ASUS-WiFi-Treiberpakets wurde erkannt, dass die Eigenschaft SilentInstallRun in AsusSetup.ini zur Ausführung beliebiger Befehle genutzt werden kann
- Die finale Angriffskette:
- Der Angreifer verleitet zum Besuch einer Website unter einer driverhub.asus.com. * Subdomain
- Die Website fordert per UpdateApp ein bösartiges calc.exe an (wird nur heruntergeladen, nicht ausgeführt)
- Eine angepasste AsusSetup.ini wird angefordert (
SilentInstallRun=calc.exe, ebenfalls ohne Ausführung)
- Eine signierte AsusSetup.exe wird angefordert (wird automatisch mit Administratorrechten ausgeführt und liest mit dem Flag
-s die ini-Datei ein und startet calc.exe)
- Dadurch entsteht effektiv eine One-Click-Remote-Code-Execution (RCE) mit Administratorrechten
Reporting Timeline (DD/MM/YYYY)
- 07/04/2025: Schwachstelle erstmals entdeckt
- 08/04/2025: RCE nachgewiesen und Schwachstelle gemeldet
- 09/04/2025: automatische Antwort von ASUS erhalten
- 17/04/2025: Patch veröffentlicht und gepatchten Build erhalten
- 18/04/2025: bestätigt, dass der Patch live ist
- 09/05/2025: CVE-2025-3462 (8,4 Punkte), CVE-2025-3463 (9,4 Punkte) veröffentlicht
Assessing the Damage
- Unmittelbar nach der Meldung der Schwachstelle wurde ein Tracking-Skript für Certificate Transparency geschrieben
- Damit wurde die Ausstellungshistorie von Zertifikaten für Subdomains unter driverhub.asus.com.* überwacht
- Das einmonatige Monitoring zeigte, dass außer den eigenen Tests keine weiteren Treffer im Filter auftauchten
- Es wurde bestätigt, dass keine Hinweise auf vorherige Ausnutzung vorlagen
Bug Bounty
- ASUS wurde gefragt, ob eine Bug-Bounty-Zahlung erfolgt, was abgelehnt wurde
- Stattdessen gab es als Anerkennung einen Eintrag in die Hall of Fame
- Ergänzend wurde erläutert, dass ASUS trotz seiner Größe keine angemessene Bounty-Politik hat
Fun Notes
- Beim Einreichen des ASUS-Security-Advisory-Formulars wurde der PoC von Amazon CloudFront als bösartige Anfrage blockiert
- Beim Klick auf „Install All“ in DriverHub werden zusätzliche Softwarepakete (Norton360, WinRAR usw.) mitinstalliert
- Die CVE-Beschreibung ist ungenau und missverständlich, da sie den Eindruck erwecken kann, dass Desktop-/Notebook-Geräte nicht betroffen seien (tatsächlich sind alle Geräte mit installiertem DriverHub betroffen)
- WiFi funktioniert immer noch nicht, daher musste ein externer USB-WiFi-Adapter gekauft werden
- Kontakt: Signal: paul19.84, E-Mail contact [at] mrbruh.com
1 Kommentare
Hacker-News-Kommentare
driverhub.asus.com.*) die Bedingungen erfülle. Das stimmt aber nur, wenn niemand separat eine Subdomain unterdriverhubregistriert hat. Mit einem Wildcard-Setup wäre das in Certificate-Transparency-Logs nicht sichtbar und möglicherweise ausnutzbar.*.example.comnur fürtest.example.com, aber nicht fürtest.test.example.com. Wenn jemand also ein Wildcard-Zertifikat für*.asus.com.example.comhätte, wäredriverhub.asus.com.example.comgültig..example.comgehabt hätte, wäre eine Ausnutzung tatsächlich auch außerhalb vondriverhub.asus.commöglich gewesen. Genau deshalb reicht die Überwachung von CT-Logs allein nicht aus, um solche Subdomain-Takeover-Schwachstellen vollständig zu erfassen.