- Une vulnérabilité d’exécution de code à distance (RCE) en un clic a été découverte dans le logiciel DriverHub d’ASUS
- En local, une validation d’origine défaillante permet à un site web malveillant d’obtenir une exécution avec privilèges administrateur via RPC
- En abusant de l’endpoint UpdateApp, il est possible d’exécuter du code malveillant en combinant un exécutable signé par ASUS et un fichier ini manipulé
- La vulnérabilité a été publiée sous les identifiants CVE-2025-3462, CVE-2025-3463, et ASUS a rapidement déployé un correctif
- Au moment du signalement, aucun cas d’exploitation réelle n’avait été constaté, et ASUS a récompensé la découverte par une inscription au tableau d’honneur plutôt qu’un bug bounty
Introduction
- L’histoire commence par l’achat de nouveaux composants pour PC
- Lors de l’achat d’une carte mère ASUS, l’option d’installation automatique de logiciels via le BIOS est activée par défaut
- Comme l’option n’a pas été désactivée à temps, une demande d’autorisation pour installer DriverHub est apparue après la connexion à Windows
- Par curiosité, et parce qu’un pilote Wi‑Fi était nécessaire, DriverHub a été installé
DriverHub
- DriverHub est un processus d’arrière-plan sans interface graphique
- Il communique avec driverhub.asus.com pour indiquer la liste des pilotes à installer ou mettre à jour
- Il expose en local une API HTTP (port 53000) utilisée comme RPC
- Le site web peut envoyer des requêtes API à ce service local pour gérer directement les pilotes
- Il est alors apparu clairement qu’en cas de sécurité insuffisante, un attaquant pourrait envoyer des requêtes arbitraires
Finding the Vulnerability
- Des tests ont été menés pour vérifier si un site web pouvait envoyer arbitrairement des requêtes RPC au backend de DriverHub
- Le système était conçu pour ne répondre que si l’Origin était
driverhub.asus.com
- Il a été vérifié si le contrôle d’Origin reposait sur une correspondance de type wildcard comme
origin.includes("driverhub.asus.com")
- En remplaçant l’Origin par
driverhub.asus.com.mrbruh.com, il a été découvert que la requête était acceptée
- Cela confirme un risque grave, car un attaquant peut effectuer des appels RPC depuis un site malveillant
The Extent of the Damage
- Le reverse engineering et l’analyse JavaScript ont permis d’identifier la liste des endpoints API accessibles en arrière-plan
- Endpoints principaux :
- Initialize : renvoie l’état et les informations d’installation
- DeviceInfo : renvoie les logiciels ASUS, pilotes, matériels et adresses MAC installés
- Reboot : déclenche un redémarrage immédiat
- Log : renvoie un ensemble de fichiers de log
- InstallApp : installe l’application ou le pilote correspondant à l’ID indiqué
- UpdateApp : télécharge puis exécute l’exécutable situé à l’URL indiquée (exécution automatique s’il est signé par ASUS)
- L’attention s’est particulièrement portée sur UpdateApp, qui pouvait être détourné
Achieving RCE
- L’endpoint UpdateApp a été analysé en détail
- Le paramètre
Url devait contenir .asus.com, avec des possibilités de contournement, et le nom du fichier dépendait de la fin de l’URL
- Seuls les exécutables signés par ASUS étaient lancés automatiquement, mais même les fichiers non signés étaient téléchargés sans être supprimés ensuite
- La possibilité d’une attaque temporelle consistant à remplacer le fichier juste avant l’exécution, après validation de la signature, a été étudiée, mais s’est révélée peu pratique
- En analysant la structure d’un package de pilote Wi‑Fi ASUS, il a été découvert que la propriété SilentInstallRun de
AsusSetup.ini pouvait servir à exécuter une commande arbitraire
- Chaîne d’attaque finale :
- L’attaquant incite la victime à visiter un site web sur un sous-domaine driverhub.asus.com.*
- Le site demande via UpdateApp un
calc.exe malveillant (téléchargement uniquement, sans exécution)
- Il demande ensuite un
AsusSetup.ini personnalisé (SilentInstallRun=calc.exe, là aussi sans exécution)
- Enfin, il demande le
AsusSetup.exe signé, qui s’exécute automatiquement avec les privilèges administrateur et, avec l’option -s, lit le fichier ini puis lance calc.exe
- Résultat : une exécution de code arbitraire à distance avec privilèges administrateur (RCE) est obtenue en un clic
Reporting Timeline (DD/MM/YYYY)
- 07/04/2025 : découverte initiale de la vulnérabilité
- 08/04/2025 : preuve de concept RCE réalisée et vulnérabilité signalée
- 09/04/2025 : réception de la réponse automatique d’ASUS
- 17/04/2025 : déploiement du correctif et réception du build corrigé
- 18/04/2025 : confirmation que le correctif est en ligne
- 09/05/2025 : publication de CVE-2025-3462 (score 8,4), CVE-2025-3463 (score 9,4)
Assessing the Damage
- Juste après le signalement, un script de suivi de certificate transparency a été écrit
- L’historique d’émission de certificats pour les sous-domaines
driverhub.asus.com.* a été surveillé
- Après un mois de monitoring, aucun site autre que les propres tests de l’auteur n’a été détecté par le filtre
- L’absence d’indices d’exploitation antérieure a ainsi pu être confirmée
Bug Bounty
- ASUS a été interrogé sur l’éventuel versement d’un bug bounty, mais cela a été refusé
- À la place, la récompense a pris la forme d’une inscription au tableau d’honneur
- Il est également noté qu’ASUS, malgré sa taille, ne dispose pas vraiment d’une politique de bounty adaptée
Fun Notes
- Lors de la soumission du formulaire Security Advisory d’ASUS, la preuve de concept a été bloquée comme requête malveillante par Amazon CloudFront
- En cliquant sur
Install All dans DriverHub, d’autres logiciels (Norton360, WinRAR, etc.) sont installés de force
- La description des CVE est vague et inexacte, ce qui peut faire croire à tort que les PC de bureau et portables ne sont pas concernés (en réalité, tous les appareils avec DriverHub installé sont affectés)
- Le Wi‑Fi ne fonctionne toujours pas, ce qui a nécessité l’achat d’un adaptateur Wi‑Fi USB externe
- Contact : Signal: paul19.84, e-mail
contact [at] mrbruh.com
1 commentaires
Avis Hacker News
driverhub.asus.com.*) correspondait aux conditions requises ; mais cela n’est vrai que si personne n’a enregistré séparément un sous-domaine dedriverhub; avec un wildcard, cela pourrait ne pas apparaître dans les journaux de transparence des certificats et rester exploitable*.example.comcouvretest.example.com, mais pastest.test.example.com; si quelqu’un avait utilisé un wildcard*.asus.com.example.com, alorsdriverhub.asus.com.example.comaurait été valide.example.com, il aurait effectivement pu exploiter cela ailleurs que sur le vraidriverhub.asus.com; c’est pour cette raison qu’une surveillance des journaux CT ne suffit pas à détecter parfaitement ce type de vulnérabilité de prise de contrôle de sous-domainesarcasm.comMyASUSont été ajoutées par défaut ; heureusement, il existe une option pour les désactiver, et lorsqu’on a mis à jour depuis un BIOS Intel NUC, cela semble être désactivé par défaut