
Доказательство концепции для CVE-2022-42045: произвольное внедрение кода в режиме ядра через драйвер Zemana amsdk.sys, позволяющее локальное повышение привилегий от администратора до ядра на 64-разрядной Windows.
Мы обнаружили произвольное внедрение кода (Arbitrary code injection) в драйвер режима ядра amsdk.sys от Zemana, являющийся частью Zemana Antimalware SDK. Уязвимость позволяет внедрить произвольный код в один из разделов кода драйвера, а затем выполнить его с привилегиями режима ядра (повышение локальных привилегий с администратора до режима ядра). Эта уязвимость может быть использована, например, для отключения проверки подписи драйверов (Driver Signature Enforcement) и последующей установки неподписанных драйверов режима ядра.
Уязвимая функция находится по смещению 0xBF60 от начала секции .text файла amsdk.sys. Эта функция вызывает другую функцию по смещению 0xD664. Функция по смещению 0xD664 принимает 4 аргумента:
IOCTL 0x80002044 вызывает функцию по смещению 0xBF60 (секция .text) и позволяет заполнить заглушку в секции .hook произвольным кодом, контролируемым пользователем. IOCTL 0x80002014 (чтение через SCSI) или IOCTL 0x80002018 (запись через SCSI) передают управление этой заполненной заглушке.
Как минимум Watchdog Anti-Malware 4.1.422, Zemana AntiMalware 3.2.28. Эти продукты имеют один и тот же уязвимый драйвер, но подписанный разными сертификатами.
Zemana AntiLogger v2.74.2.664 имеет ту же уязвимость. Уязвимые драйверы: zamguard64.sys, zam64.sys.
64-разрядные версии Windows: от Windows 7 до Windows 11
Удалите продукты Zemana или Watchdog Antimalware. Добавьте подписи драйверов в черный список.
