CVE-2024-12227 - NTIOLib_X64.sys DoS PoC
MSI Dragon Center 的 NTIOLib_X64.sys 驱动程序中 CVE-2024-12227(空指针解引用漏洞)的概念验证。
NTIOLib_X64.sys 版本 3.0.0.10 在 ReadPhysicalMemory 函数(IOCTL 0xC3506104)中存在空指针解引用漏洞。该驱动在调用 MmUnmapIoSpace 之前未检查 MmMapIoSpace 的返回值。如果 MmMapIoSpace 返回 NULL,则使用 NULL 指针调用 MmUnmapIoSpace 会导致蓝屏死机 (BSOD)。
存在漏洞的 ReadPhysicalMemory 处理程序(IOCTL 0xC3506104)调用 MmMapIoSpace 来映射物理内存,但未验证其是否返回 NULL。该代码随后:
MmUnmapIoSpace,即使该指针为 NULL如果 MmMapIoSpace 失败并返回 NULL,则调用 MmUnmapIoSpace(NULL, ...) 会导致 BSOD。
在版本 3.0.0.12 中,在使用指针前以及调用 MmUnmapIoSpace 前添加了 NULL 检查。
警告:此 PoC 将导致 BSOD。仅在虚拟机或测试环境中运行。
python poc_cve_2024_12227.py
MmMapIoSpace 失败并返回 NULL,将调用 MmUnmapIoSpace(NULL),导致 BSOD此 PoC 仅用于教育和安全研究目的。仅限在授权的测试环境中使用。作者不对任何滥用此代码的行为负责。