
Preuve de concept pour CVE-2022-42045 : injection arbitraire de code en mode noyau via le pilote amsdk.sys de Zemana, permettant une escalade de privilèges locale de l'administrateur au noyau sur Windows 64 bits.
Nous avons découvert une injection de code arbitraire dans le pilote en mode noyau amsdk.sys de Zemana, un composant du SDK Zemana Antimalware. La vulnérabilité permet d'injecter un code arbitraire dans l'une des sections de code du pilote, puis de l'exécuter avec les privilèges du mode noyau (élévation de privilèges locale de l'administrateur au mode noyau). Cette vulnérabilité pourrait être utilisée, par exemple, pour désactiver l'application de la signature des pilotes (Driver Signature Enforcement) puis installer des pilotes en mode noyau non signés.
La fonction vulnérable se trouve à l'offset 0xBF60 depuis le début de la section .text de amsdk.sys. Cette fonction en appelle une autre à l'offset 0xD664. La fonction à l'offset 0xD664 prend 4 arguments :
L'IOCTL 0x80002044 appelle la fonction à l'offset 0xBF60 (section .text) et permet de remplir la fonction stub dans la section .hook avec un code arbitraire contrôlé par l'utilisateur. L'IOCTL 0x80002014 (lecture via SCSI) ou l'IOCTL 0x80002018 (écriture via SCSI) transfère le contrôle à ce stub rempli.
Au moins Watchdog Anti-Malware 4.1.422, Zemana AntiMalware 3.2.28. Ces produits utilisent le même pilote vulnérable mais signé avec des certificats différents.
Zemana AntiLogger v2.74.2.664 présente la même vulnérabilité. Pilotes vulnérables : zamguard64.sys, zam64.sys.
Versions 64 bits de Windows : de Windows 7 à Windows 11
Désinstallez les produits Zemana ou Watchdog Antimalware. Ajoutez les signatures des pilotes à la liste noire.
