IPBUF安全漏洞报告
English
CVE-2026-39860 CVSS 9.0 严重

CVE-2026-39860 Nix符号链接任意文件覆盖漏洞

披露日期: 2026-04-08

漏洞信息

漏洞编号
CVE-2026-39860
漏洞类型
权限提升
CVSS评分
9.0 严重
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Nix

相关标签

权限提升符号链接Nix任意文件写入本地漏洞

漏洞概述

Nix包管理器存在严重安全漏洞,源于对CVE-2024-27297的不完整修复。在固定输出派生输出注册过程中,攻击者可利用符号链接跟随缺陷,覆盖Nix进程(通常为root)有权写入的任意文件。该漏洞影响沙箱Linux构建环境,允许普通用户通过提交恶意构建任务修改系统敏感文件,从而获得root权限。macOS沙箱构建不受影响。

技术细节

漏洞核心原理在于Nix处理固定输出派生时的路径验证逻辑存在缺陷。具体而言,用于输出复制的临时输出路径位于构建chroot内部,而Nix守护进程在输出注册阶段运行在宿主机的挂载命名空间。攻击者可以构建恶意的派生,在构建过程中于输出路径处创建一个指向宿主机任意位置(如/etc/passwd, /etc/shadow或root的SSH密钥文件)的符号链接。当Nix守护进程(通常以root身份运行)尝试将构建结果写入该路径时,未正确解析符号链接的跨命名空间风险,直接跟随该链接并将攻击者控制的内容写入目标文件。此过程利用了宿主机命名空间的权限,导致任意文件写入。攻击者无需特殊认证,仅需具备提交构建的默认权限即可利用此漏洞,进而修改系统关键配置或植入后门,实现本地权限提升。

攻击链分析

STEP 1
构建恶意派生
攻击者编写一个Nix派生表达式,在构建过程中于输出路径创建指向宿主机敏感文件(如/root/.ssh/authorized_keys)的符号链接。
STEP 2
提交构建任务
攻击者将恶意派生提交给Nix守护进程。在多用户安装中,默认允许所有用户提交构建。
STEP 3
执行构建与链接创建
Nix在沙箱环境中执行构建,攻击者的脚本在预期的输出路径位置成功创建了符号链接。
STEP 4
输出注册阶段
Nix守护进程(运行在宿主机命名空间,通常为root)开始处理输出注册,尝试将构建产物写入输出路径。
STEP 5
符号链接跟随与覆盖
Nix守护进程未正确验证路径,跟随符号链接,将攻击者控制的数据直接写入宿主机的敏感文件。
STEP 6
权限提升
攻击者通过被篡改的文件(如写入SSH公钥或修改sudoers)成功获得宿主机的root权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Example of a malicious Nix derivation (conceptual PoC) # This derivation attempts to exploit the symlink following vulnerability. # It creates a symlink at the output path pointing to a sensitive file on the host. { pkgs ? import <nixpkgs> {} }: pkgs.stdenv.mkDerivation { name = "exploit-cve-2026-39860"; # Fixed-output derivation configuration outputHash = "0000000000000000000000000000000000000000000000000000"; # Placeholder hash outputHashAlgo = "sha256"; buildCommand = '' # Create a symlink at the derivation output path ($out) # pointing to a sensitive file on the host, e.g., root's authorized_keys. ln -s /root/.ssh/authorized_keys $out # Write malicious content (e.g., attacker's public key) # During output registration, Nix daemon follows the symlink # and overwrites the target file on the host. echo "ssh-rsa AAAAB3NzaC1yc2E... attacker@evil" > $out ''; }

影响范围

Nix < 2.34.5
Nix < 2.33.4
Nix < 2.32.7
Nix < 2.31.4
Nix < 2.30.4
Nix < 2.29.3
Nix < 2.28.6

防御指南

临时缓解措施
在无法立即升级的情况下,建议严格限制能够向Nix守护进程提交构建请求的用户列表,确保只有受信任的管理员可以触发构建过程,从而阻断普通用户利用该漏洞进行提权的路径。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表