
Prova de conceito para CVE-2022-42045: injeção arbitrária de código em modo kernel através do driver amsdk.sys da Zemana, permitindo escalonamento de privilégio local de administrador para kernel no Windows 64 bits.
Descobrimos uma injeção arbitrária de código no driver em modo kernel amsdk.sys da Zemana, parte do Zemana Antimalware SDK. A vulnerabilidade permite injetar um código arbitrário em uma das seções de código do driver e depois executá-lo com privilégios de modo kernel (escalada de privilégios local de administrador para modo kernel). Esta vulnerabilidade poderia ser usada, por exemplo, para desabilitar a Driver Signature Enforcement e então instalar drivers em modo kernel não assinados.
A função vulnerável está localizada no offset 0xBF60 do início da seção .text do amsdk.sys. Esta função invoca outra no offset 0xD664. A função no offset 0xD664 recebe 4 argumentos:
O IOCTL 0x80002044 chama a função no offset 0xBF60 (seção .text) e permite preencher o stub na seção .hook com um código arbitrário controlado pelo usuário. O IOCTL 0x80002014 (leitura via SCSI) ou IOCTL 0x80002018 (escrita via SCSI) transfere o controle para este stub preenchido.
Pelo menos Watchdog Anti-Malware 4.1.422 , Zemana AntiMalware 3.2.28. Esses produtos possuem o mesmo driver vulnerável, mas assinado com certificados diferentes.
O Zemana AntiLogger v2.74.2.664 possui a mesma vulnerabilidade. Drivers vulneráveis: zamguard64.sys, zam64.sys.
Versões de 64 bits do Windows: do Windows 7 ao Windows 11
Desinstale os produtos Zemana ou Watchdog Antimalware. Adicione as assinaturas dos drivers à lista negra.
