Vulnérabilités · 4 min read · Sep 29, 2025
Un chercheur de Google découvre une vulnérabilité d'escalade de privilèges dans Windows 8.1

Un chercheur de Google découvre un bug d’élévation de privilèges dans Windows 8.1, versions 32/64 bits.
Un chercheur de Google nommé Forshaw a découvert un bug d’escalade de privilèges dans Windows 8.1. Le bug dans ahcache.sys/NtApphelpCacheControl est survenu après que Windows 8 a été mis à jour vers Windows 8.1 et a été trouvé par Forshaw en septembre 2014. Il a informé la liste de diffusion de Google Security Research au sujet du bug le 30 septembre et après un délai de divulgation de 90 jours, le défaut et la preuve de concept ont été rendus publics hier.
L’équipe de chercheurs de Google a contacté Microsoft concernant le bug le même jour que le défaut a été découvert, mais il n’y a aucune indication d’une action prise à ce sujet. Forshaw a également déclaré dans la liste de diffusion qu’il avait testé la PoC uniquement sur 8.1 et ne sait pas si Windows 7 est vulnérable.
La vulnérabilité est identifiée dans la fonction ahcache.sys/AhcVerifyAdminContext. La preuve de concept comprend deux fichiers de programme et un ensemble d’instructions pour l’exécuter, ce qui entraîne l’exécution de la calculatrice Windows en tant qu’administrateur. Forshaw déclare que le bug n’est pas dans UAC lui-même, mais que UAC est utilisé en partie pour démontrer le bug.
Microsoft a un gros problème en main avec cette vulnérabilité alors qu’il publie ses principaux correctifs le deuxième mardi du mois. À l’heure actuelle, Microsoft a deux choix :
- Le corriger à temps pour le deuxième mardi des correctifs.
- Émettre un correctif hors bande (généralement un mauvais signe de 0day).
Le prochain Patch Tuesday est prévu pour le 13.1.2015 et s’il publie un correctif avant cela, on peut supposer qu’il s’agit d’une vulnérabilité Zero day.
L’ensemble du fil est reproduit ci-dessous :
Plateforme : Windows 8.1 Update 32/64 bits (Aucun autre OS testé) Sur Windows 8.1 update, l’appel système NtApphelpCacheControl (le code se trouve en fait dans ahcache.sys) permet de mettre en cache les données de compatibilité des applications pour une réutilisation rapide lors de la création de nouveaux processus. Un utilisateur normal peut interroger le cache mais ne peut pas ajouter de nouvelles entrées mises en cache car l’opération est réservée aux administrateurs. Cela est vérifié dans la fonction AhcVerifyAdminContext. Cette fonction a une vulnérabilité où elle ne vérifie pas correctement le jeton d’imitation de l’appelant pour déterminer si l’utilisateur est un administrateur. Elle lit le jeton d’imitation de l’appelant en utilisant PsReferenceImpersonationToken et effectue ensuite une comparaison entre le SID de l’utilisateur dans le jeton et le SID de LocalSystem. Elle ne vérifie pas le niveau d’imitation du jeton, il est donc possible d’obtenir un jeton d’identité sur votre thread à partir d’un processus système local et de contourner cette vérification. À cette fin, la PoC abuse du service BITS et de COM pour obtenir le jeton d’imitation, mais il y a probablement d’autres moyens. Il s’agit simplement de trouver un moyen d’exploiter la vulnérabilité. Dans la PoC, une entrée de cache est faite pour un exécutable d’auto-élévation UAC (disons ComputerDefaults.exe) et configure le cache pour pointer vers l’entrée de compatibilité d’application pour regsvr32, ce qui force un RedirectExe shim à recharger regsvr32.exe. Cependant, n’importe quel exécutable pourrait être utilisé, le truc serait de trouver une configuration de compatibilité d’application préexistante appropriée à exploiter. Il n’est pas clair si Windows 7 est vulnérable car le chemin de code pour la mise à jour a un contrôle de privilège TCB dessus (bien qu’il semble que selon les indicateurs, cela pourrait être contourné). Aucun effort n’a été fait pour le vérifier sur Windows 7. REMARQUE : Ce n’est pas un bug dans UAC, il s’agit simplement d’utiliser l’auto-élévation UAC à des fins de démonstration. La PoC a été testée sur Windows 8.1 update, à la fois en versions 32 bits et 64 bits. Je recommanderais de l’exécuter en 32 bits juste pour être sûr. Pour vérifier, effectuez les étapes suivantes : 1) Mettez AppCompatCache.exe et Testdll.dll sur le disque
- Assurez-vous que UAC est activé, que l’utilisateur actuel est un administrateur à jeton partagé et que le paramètre UAC est par défaut (pas d’invite pour des exécutables spécifiques).
- Exécutez AppCompatCache à partir de l’invite de commande avec la ligne de commande “AppCompatCache.exe c:\windows\system32\ComputerDefaults.exe testdll.dll”.
- Si cela réussit, la calculatrice devrait apparaître en cours d’exécution en tant qu’administrateur. Si cela ne fonctionne pas la première fois (et que vous obtenez le programme ComputerDefaults), relancez l’exploit à partir de 3, il semble y avoir un problème de mise en cache/de timing parfois lors de la première exécution. Ce bug est soumis à un délai de divulgation de 90 jours. Si 90 jours s’écoulent sans un correctif largement disponible, le rapport de bug deviendra automatiquement visible au public.
Un autre utilisateur a affirmé que Windows 10 n’est pas vulnérable à cette vulnérabilité tandis qu’un autre a remis en question la politique de Google de rendre un tel bug public sans l’approbation de Microsoft. Le fil et la PoC peuvent être consultés ici.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.