Nvidia GreenSection 内存损坏 0day 漏洞
多个 NVIDIA 用户模式组件在 \BaseNamedObjects\{52813408-3561-4705-820a-2b3b78be92ba} 中共享一个全局内存段,所有用户对该段均拥有完全读写权限。该段内部存储了重要的数据结构,但在执行时会进行检查以防止出现问题。 不幸的是,该段中的相同数据在运行时被重复使用,导致越界内存写入。
虽然此漏洞不会立即获得 SYSTEM 权限,但它可以轻松地跨用户边界使用,甚至可能危及 dwm.exe 进程。我没有深入研究它,但我很乐意看到有人基于此制作出完整的漏洞利用程序。
复现方法:
STACK_TEXT:
00000089`75bfed00 00007ff9`7564e3a4 : 00000000`00000001 00000000`00000001 000001da`b5201340 00000000`00000000 : nvoglv64!DrvPresentBuffers+0xbcdf8
00000089`75bfed30 00007ff9`7564b62a : 000001da`b7910080 00000000`00000000 000001da`b5201301 00000000`00000009 : nvoglv64!DrvPresentBuffers+0xbbc84
00000089`75bfefe0 00007ff9`7592d738 : 00000000`00000000 00000000`00001760 00000000`00000000 000001da`b58a1e80 : nvoglv64!DrvPresentBuffers+0xb8f0a
00000089`75bff020 00007ff9`7592dc6b : 000001da`00000000 000001da`b7910080 00000000`00000000 00000089`75bff150 : nvoglv64!vk_gr2608GetInstanceProcAddr+0x3a5e8
00000089`75bff080 00007ff9`75acd90a : 00000089`75bff300 00000000`00000000 000001da`b52d1480 00000000`00000000 : nvoglv64!vk_gr2608GetInstanceProcAddr+0x3ab1b
00000089`75bff0f0 00007ff9`6eca26dd : 000001db`3ef2a000 00000089`75bff300 000001da`00000400 00006a2d`00000000 : nvoglv64!vkGetInstanceProcAddr+0x16698a
00000089`75bff2e0 00007ff9`6ed1c086 : 00000000`04bf151e 00000000`00000000 00000000`00000000 00000000`04bf151e : plugin_gxc_vulkan2_x64!ImGuiTextFilter::`default constructor closure'+0x11e3d
00000089`75bff370 00007ff9`6ed15239 : 00000000`00000000 000001da`f3b548b0 000001da`f3b2d3f0 00000000`00000000 : gpumagick_sdk_x64!gm::app_set_param_bool+0xbb5e
00000089`75bff770 00007ffa`3aede8d7 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : gpumagick_sdk_x64!gm::app_set_param_bool+0x4d11
00000089`75bff7b0 00007ffa`3bccc48c : 00000000`00000000 00000000`00000000 000004f0`fffffb30 000004d0`fffffb30 : kernel32!BaseThreadInitThunk+0x17
00000089`75bff7e0 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x2c