CVE-2021-1732 Windows10 本地提权漏洞
漏洞发生在 Windows 图形驱动 win32kfull.sys 中,当调用 win32kfull!NtUserCreateWindowEx 函数创建窗口且 tagWND→cbWndExtra≠0 时,该函数调用 win32kfull!xxxClientAllocWindowClassExtraBytes 回调用户层函数 user32.dll!__xxxClientAllocWindowClassExtraBytes 分配内存,攻击者可以 Hook 这个用户层函数调用 ntdll!NtCallbackReturn 向内核返回一个任意值,并且当 tagWND→flag 包含 0x800 标志时该返回值将被视为相对内核桌面堆起始地址的偏移。用户层调用 NtUserConsoleControl 可以修改 tagWND→flag 值包含 0x800,因此返回值将直接被用于堆内存寻址,引发内存越界访问。攻击者通过越界读写可复制 system 进程 token 到当前进程完成提权。