NeacSafe64驱动程序安全漏洞CVE-2025-45737
网易NeacSafe64是中国网易公司的一个驱动程序,其主要作用是防止外挂软件对游戏进行干扰,以NeacSafe.sys驱动程序文件形式存在。
一、基本情况
NeacSafe是网易自主研发的反作弊解决方案,旨在保护PC游戏,包括但不限于《守望先锋》、《纳拉卡:Bladepoint》和《FragPunk》。
栋科技漏洞库关注到网易(杭州)网络有限公司NeacSafe64 1.0.0.8之前版本存在安全漏洞,漏洞追踪CVE-2025-45737,CVSS评分6.5。
二、漏洞分析
CVE-2025-45737漏洞是网易公司NeacSafe64 1.0.0.8之前版本存在的安全漏洞,该漏洞源于IOCTL命令处理不当,可能会导致权限提升。
本地攻击者可以通过向NeacSafe64.sys组件发送精心编制的IOCTL命令,从而可能在内核空间中获取SYSTEM权限并执行任意外壳代码。
NeacSafe64驱动程序公开了两个消息处理程序(操作码14和70,msghandler15/msghandler 71),它们实现了任意内核空间读/写原语。
这些操作使Neacontroller能够执行特权内存操作,最终通过综合利用这些功能实现SYSTEM特权升级。
NeacSafe64驱动程序分配NonPagedPool内存并将其指针存储在全局变量中,随后利用函数指针调用系统API。
此实现允许攻击者:
1、将外壳代码注入分配的池内存。
2、通过覆盖函数指针来劫持控制流。
3、通过特定的消息处理程序操作触发执行。
4、最终通过受控指针重定向实现任意内核模式代码执行(KMCE)。
三、POC代码复现
1、通过NeacSafe64.inf部署NeacSafe64驱动程序并执行NeacController.exe,它将生成一个特权cmd进程。
2、EPROCESS结构因Windows版本而异,开发人员必须手动更新源代码中的硬编码偏移量,以匹配他们的目标环境。
演示有效载荷目前使用单个ret指令作为外壳代码,导致没有可观察到的系统行为。
为了有效验证漏洞:
1、将占位符外壳代码替换为0xCC(INT3断点操作码)
2、然后执行将触发以下任一操作:
(1)调试器通过Contoso pEAKPOINT异常闯入
(2)如果在内核上下文中未处理,则系统崩溃(BSOD)
<controller.h>包含:跨进程内存读写;获取流程模块基址;修改其他进程的内存页属性;终止其他进程。
四、影响范围
NeacSafe64 1.0.0.8
五、修复建议
等待官方升级版本
六、参考链接
