通过 Jiangmin 杀毒软件内核驱动(kvcore.sys)中未经认证的 Minifilter 消息处理程序实现任意进程终止
产品:Jiangmin Antivirus V21
组件:kvcore.sys(核心内核驱动)
版本:1.23.6.27
SHA-256 哈希:AE4ABB650C7DF1D3654AFC814617DE6F6589DC2C3BE434154B3BE0F6521E2259
高 - 7.8 (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Jiangmin 杀毒软件内核驱动 kvcore.sys 暴露了一个 minifilter 通信端口("\KvCorePortX0"),该端口接受来自用户态进程的命令消息。该驱动的 MessageNotifyCallback(FUN_140008c60)将命令代码(0x1D / CMD_TERMINATE_PROCESS)分派给函数 FUN_14000cf14,后者通过以下内核函数链终止由 PID 指定的任意进程:

该漏洞是因为在 FUN_14000688c 中,创建过滤器通信端口时使用了 FltBuildDefaultSecurityDescriptor(),并带有一个过于宽松的访问掩码(0x1F0001),将连接权限授予了 EVERYONE(S-1-1-0)。这允许任何用户态进程进行连接。

当用户态进程向 KvCorePortX0 minifilter 发送消息时,MessageNotifyCallback 回调函数(位于 FUN_140008c60)不执行调用方身份验证。没有调用 SeSinglePrivilegeCheck(),也没有进行 PsGetCurrentProcess() 验证、令牌验证或任何进程白名单检查。

PoC 需要在管理员命令提示符下运行,并且必须已加载 kvcore.sys 驱动
sc.exe create kvcore type= kernel binPath= <driver-path> ; sc.exe start kvcore)示例:
.\kvcore_kill_poc.exe --name "MsMpEng.exe"
.\kvcore_kill_poc.exe --pid 3340
在 Windows 11 24H2(Build 26200)上的测试结果:
