FzRsLLaSheR/CVE-2026-12166_CVE-2026-12167_CVE-2026-12168
GitHub: FzRsLLaSheR/CVE-2026-12166_CVE-2026-12167_CVE-2026-12168
披露 Little Orbit GFAC 反作弊内核驱动中三个本地漏洞(NULL 指针解引用、访问控制不当、任意内核内存写入)的安全研究报告。
Stars: 0 | Forks: 0
# Little Orbit GFAC 驱动 (GFAC_Sys_x64.sys) 中的多个本地权限提升漏洞
| | |
|---|---|
| **CVE ID** | CVE-2026-12166, CVE-2026-12167, CVE-2026-12168 |
| **供应商** | Little Orbit |
| **产品** | GamersFirst Anti-Cheat (GFAC) 驱动 (`GFAC_Sys_x64.sys`) |
| **受影响版本** | 驱动程序二进制文件中未嵌入版本信息。分析的样本:SHA-256 `b6748d7da5759dee7d5f2f32b0326b4edb7b2135a0e4a6d5ff26aef1e139d8b2` |
| **漏洞类型** | NULL 指针解引用 (CWE-476)、访问控制不当 (CWE-284)、任意内核内存写入 (CWE-787) |
| **影响** | 拒绝服务 (BSOD)、提升权限至 SYSTEM |
| **攻击向量** | 本地 |
| **所需权限** | 低(任何本地用户) |
| **测试环境** | Windows 10/11 x64 |
| **研究员** | Lucian Alexandru Necula |
## 概述
GamersFirst Anti-Cheat (GFAC) 内核模式驱动 `GFAC_Sys_x64.sys` 通过 minifilter 通信端口向用户模式应用程序暴露了特权功能。由于对该端口接收到的用户控制输入处理不当,导致了多个本地漏洞,涵盖从拒绝服务条件到完全提升权限至 SYSTEM。
我们识别出了三个不同的问题,并在此公告中一并追踪:
- **CVE-2026-12166** — 驱动初始化/请求处理中的 NULL 指针解引用,导致系统崩溃。
- **CVE-2026-12167** — minifilter 通信端口上的访问控制不当,允许低权限用户访问仅供可信进程使用的功能。
- **CVE-2026-12168** — 可通过通信端口访问的任意内核内存写入(“write-what-where”),允许修改敏感的内核结构(例如进程安全 token),并导致权限提升至 SYSTEM。
## 受影响组件
- **驱动:** `GFAC_Sys_x64.sys`
- **接口:** 暴露给用户模式的 minifilter 通信端口
- **可达性:** 标准(非管理员)本地用户
## 技术细节
### CVE-2026-12166 — NULL 指针解引用
该驱动的初始化和请求处理逻辑包含一个代码路径,本地非特权调用者可触发该路径解引用 NULL 指针。触发此路径会导致驱动程序通过 NULL 地址进行读取或写入,从而导致系统崩溃 (BSOD),并允许攻击者反复破坏可用性。
### CVE-2026-12167 — 通信端口上的访问控制不当
minifilter 通信端口未强制执行足够严格的安全描述符。因此,低权限的非管理员用户可以打开与该端口的连接,并访问本应仅限于可信进程使用的特权功能。这极大地扩大大了驱动程序的攻击面,并且是利用本公告中其他问题的直接推手。
### CVE-2026-12168 — 任意内核内存写入
通过通信端口接收的消息在处理时,未能在其作为写入操作的目标之前充分验证用户提供的内存地址。本地攻击者可以提交一个特制请求,其中包含攻击者控制的目标地址和数据值,导致驱动程序向内核内存写入任意数据。这种 write-what-where 原语可被利用来覆盖敏感的 OS 结构——例如进程的安全 token——从而导致权限提升至 SYSTEM。
## 影响
- **CVE-2026-12168** 允许本地非特权攻击者获取 SYSTEM 权限并以内核级权限执行代码。
- **CVE-2026-12167** 向不受信任的本地用户暴露了特权驱动功能,增加了其他漏洞利用的可及性和可靠性。
- **CVE-2026-12166** 允许任何本地用户按需使系统崩溃,从而导致拒绝服务。
由于 GFAC 是作为多款游戏捆绑的反作弊工具分发的,因此受影响的驱动程序可能存在——并且可被加载——于远超在漏洞利用时正在进行游戏的系统数量的设备上。
## 建议
**对于防御者/系统所有者:**
- 在供应商发布修复程序之前,请将 `GFAC_Sys_x64.sys` 视为易受攻击的。
- 如果不需要 GFAC/反作弊功能,请确保该驱动程序不存在或被阻止加载。
- 在必须保留安装依赖 GFAC 的游戏的情况下,将本地访问权限限制为受信任的用户。
- 监控与 GFAC minifilter 通信端口的意外连接。
**对于供应商:**
- 对 minifilter 通信端口应用严格的安全描述符,将访问权限限制为受信任且具有适当权限的调用者。
- 在代表用户执行写入操作之前,验证所有用户提供的指针/地址。
- 在初始化和请求处理代码路径中添加 NULL/边界检查。
## 披露时间表
| 日期 | 事件 |
|---|---|
| 2026-04-01 | 直接联系供应商 (Little Orbit) 报告漏洞 |
| 2026-04-20 | 向 CERT/CC 提交案例以进行协调披露 |
| — | 在整个协调过程中未收到供应商的任何回复 |
| — | CVE-2026-12166 / -12167 / -12168 — 目前为 RESERVED,等待在 CVE.org/NVD 上公开分配 |
| 2026-07-02 | 发布公开公告(本文档) |
## 参考
- NVD: [CVE-2026-12166](https://nvd.nist.gov/vuln/detail/CVE-2026-12166)
- NVD: [CVE-2026-12167](https://nvd.nist.gov/vuln/detail/CVE-2026-12167)
- NVD: [CVE-2026-12168](https://nvd.nist.gov/vuln/detail/CVE-2026-12168)
## 致谢
由 **Lucian Alexandru Necula** 发现并报告。
标签:0day挖掘, UML, Web报告查看器, Windows驱动开发, 内核安全, 协议分析, 权限提升, 漏洞披露