IPBUF安全漏洞报告
English
CVE-2026-34730 CVSS 5.5 中危

CVE-2026-34730 Copier本地文件读取漏洞

披露日期: 2026-04-02

漏洞信息

漏洞编号
CVE-2026-34730
漏洞类型
本地文件读取
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Copier

相关标签

本地文件读取Copier信息泄露LFICVE-2026-34730

漏洞概述

Copier是一个用于渲染项目模板的库和CLI应用程序。在9.14.1版本之前,该软件的`_external_data`功能存在安全漏洞。该功能允许模板使用受控路径加载YAML文件。如果用户使用了不可信的模板,攻击者可以构造恶意模板,利用该功能读取用户运行Copier时有权访问的任意本地YAML文件,并将文件内容暴露在渲染输出中。该漏洞可能导致敏感信息泄露,主要影响机密性。官方已在9.14.1版本中修复此问题。

技术细节

该漏洞源于Copier处理`_external_data`功能时的路径验证不足。Copier允许模板定义外部数据源,通常用于加载配置文件。在受影响版本中,攻击者可以控制模板中的路径参数,从而利用路径遍历技术指定系统中的任意文件路径。当受害者执行Copier渲染操作时,程序会解析恶意模板中的指令,尝试读取攻击者指定的本地YAML文件。由于没有对读取范围进行严格限制,只要运行Copier的用户对该文件有读取权限,文件内容就会被读取并包含在最终的渲染输出中。攻击者无需预先获得系统权限,只需诱导用户使用包含恶意`_external_data`定义的模板即可触发漏洞,造成本地文件信息泄露。

攻击链分析

STEP 1
1. 构造恶意模板
攻击者创建一个Copier模板,并在其中包含恶意的`_external_data`配置,指向目标系统上的敏感文件路径。
STEP 2
2. 诱导受害者
攻击者将此恶意模板发布到公共仓库或通过社交工程手段诱导受害者下载并使用该模板进行项目渲染。
STEP 3
3. 执行渲染
受害者在本地运行Copier命令,加载恶意模板。程序解析配置并尝试读取`_external_data`中指定的文件。
STEP 4
4. 泄露数据
Copier将读取到的本地文件内容嵌入到生成的项目输出中,导致敏感信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC Configuration for CVE-2026-34730 # Save this as 'copier.yaml' in a template directory # Malicious template configuration exploiting _external_data _external_data: # Attacker controlled path to read a local YAML file (e.g., config, secrets) sensitive_data: "/etc/passwd" # Or specific user files: "~/.ssh/config" questions: - variable: "use_data" default: "yes" # In a template file (e.g., {{ _copier_conf.answers_file }}.jinja): # {{ sensitive_data }} # This will output the content of the specified file when rendered.

影响范围

Copier < 9.14.1

防御指南

临时缓解措施
建议用户尽快将Copier升级到9.14.1版本。在无法立即升级的情况下,应严格限制使用的模板来源,避免使用不受信任的第三方模板,并检查本地模板中是否包含恶意的`_external_data`配置。

参考链接

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