文章摘要
这篇文章披露了NVIDIA开源Linux GPU内核驱动(nvidia.ko和nvidia-uvm.ko)中的两个漏洞,攻击者可通过本地非特权进程触发,实现内核读写操作。漏洞已通过概念验证证实,并报告给NVIDIA。
文章总结
漏洞分析:利用NVIDIA GPU Linux驱动中的内核栈释放后使用漏洞
漏洞概述
研究人员在NVIDIA Linux开源GPU内核模块中发现两个高危漏洞:
1. 空指针解引用漏洞(CVE-2025-23300):位于nvidia-uvm模块的UVM_MAP_EXTERNAL_ALLOCATION ioctl中,当处理未关联设备的NV01_MEMORY_DEVICELESS类型内存时,未检查pGpu字段导致内核崩溃。
2. 内核栈释放后使用漏洞(CVE-2025-23280):nvidia模块的threadStateInit()和threadStateFree()函数对栈分配的THREAD_STATE_NODE结构操作时,若发生内核异常会导致该结构残留在全局红黑树中。
技术细节
漏洞触发条件
- 攻击者通过本地非特权进程触发
- 漏洞1引发内核崩溃后,漏洞2导致释放的栈内存仍被红黑树引用
- 利用视频设备(v4l2)和fork操作控制
vmalloc内存布局
利用技术
内存布局控制:
- 通过大量fork操作填充
vmalloc区域 - 使用v4l2缓冲区分配实现内存重叠
- 利用NVIDIA驱动内存分配特性触发主动内存回收
- 通过大量fork操作填充
信息泄露:
- 通过红黑树节点操作泄露内核栈地址
- 结合
random_kstack_offset特性计算目标地址
写原语构建:
- 精心构造红黑树结构触发
_mapRotateRight操作 - 利用旋转操作实现受限的任意地址写入
- 精心构造红黑树结构触发
权限提升:
- 覆盖
path_openat()中的file指针 - 伪造文件结构体突破KASLR防护
- 通过
llseek操作实现内核函数调用
- 覆盖
修复方案
NVIDIA在2025年10月驱动更新中修复:
1. 为dupMemory函数添加空指针检查(commit 2b43605)
2. 引入堆分配的threadStateAlloc替代栈分配(仅部分函数采用)
影响范围
- 使用开源GPU内核模块的Linux系统
- 测试环境:Ubuntu Noble + Linux 6.11.0-24 + NVIDIA 570.86.15驱动
- 需配合本地访问权限
时间线
| 日期 | 事件 | |------------|------| | 2025-06-18 | 漏洞报告给NVIDIA | | 2025-08-12 | 协商披露期限延长至10月23日 | | 2025-10-09 | NVIDIA发布安全公告 | | 2025-10-14 | 公开技术分析 |
完整PoC参见此处
注:该漏洞利用对系统负载敏感,在持续高负载环境下可能失败。内核崩溃导致的锁问题可通过手动解锁缓解(未经测试)。
评论总结
总结评论内容:
- 关于NVIDIA漏洞披露时间的争议
- 主要观点:批评NVIDIA要求延长漏洞披露时间不合理
- 论据:Quarkslab指出漏洞早在6月18日报告,推迟到2026年1月远超标准的90天披露期
- 关键引用: "Richest corporation in the world needs 7 months to remedy? Why not 4 years?" "mid-January was well past the standard 90 day normally agreed for coordinated disclosure"
- 关于NVIDIA闭源问题的批评
- 主要观点:认为NVIDIA的闭源政策导致安全问题难以解决
- 论据:如果开放用户态程序源代码,公众可以帮助发现和修复漏洞
- 关键引用: "If only there were some way to release the source code for your userland programs" "having a few people...look at extremely low-level code...is the only way forward"
- 关于Jetson Thor驱动更新问题
- 主要观点:指出NVIDIA不同产品线驱动更新不一致
- 论据:Jetson Thor的最新驱动未包含这两个CVE的修复
- 关键引用: "the latest driver available for Jetson Thor doesn't have the fixes for these two CVEs" "they decided to fork their own driver"
注:所有评论均未显示评分(None)。