文章总结: 7-Zip存在CVE-2025-11001与CVE-2025-11002漏洞,因处理ZIP文件中符号链接时路径验证不充分,导致目录逃逸与任意写入风险。攻击者可诱使用户解压恶意压缩包,若以高权限执行,可能覆盖系统文件或获得代码执行能力。建议立即升级至7-Zip25.01或更高版本,并限制自动解压权限,对不可信ZIP文件进行严格检查。
综合评分: 93
文章分类: 漏洞分析,漏洞预警,应急响应,安全工具,解决方案
技术深度分析 —(7‑Zip:ZIP 中符号链接处理导致目录逃逸 / 任意写入)
原创
云梦DC
云梦安全
2025年10月30日 09:02
河南
1. 概览(要点)
-
漏洞:CVE‑2025‑11001 与 CVE‑2025‑11002 均与 7‑Zip 处理 ZIP 文件中的符号链接(symlink)和路径验证逻辑有关,导致路径验证不充分,从而出现目录逃逸与任意写入风险。
-
影响产品:7‑Zip(原生 Windows 以及被打包入 Linux 发行版的 7‑zip 实现)。多数厂商与安全社区建议升级至 7‑Zip 25.01 或更高版本(根据发行版/打包差异,具体补丁版本请参考发行版公告)。
-
危害等级:若目标在高权限(管理员 / 服务账号)下解压恶意压缩包,攻击者可覆盖关键文件、写入启动目录或逃逸到系统目录,进而可能获得代码执行或持久化能力。
https://github.com/pacbypass/CVE-2025-11001?utm_source=chatgpt.com
2. 漏洞原理(技术细节)
核心问题出在 ZIP 中对符号链接目标地址与路径安全检查不充分:
-
ZIP 文件可包含条目标记为符号链接(在某些 ZIP 实现或通过特定标志位表示)。当 7‑Zip 在解压时遇到 symlink 描述,它会尝试创建符号链接或依据 symlink 指向来写入目标路径。若对 symlink 的目标路径、相对路径、或“层级跳出”(
../)处理不严格,解压器可能把目标文件放置到归档目录之外(目录逃逸)。这会被用来覆盖任意文件。 -
攻击链常见变体:压缩包包含一个看似合法的相对路径条目(例如
safe/../.. /Windows/System32/evil.exe或 symlink 指向C:\ProgramData\…),或先创建一个 symlink 指向外部路径,再将实际文件写入该 symlink。若解压进程运行在高权限(如服务帐号或管理员),攻击者便能把文件写入受限制的位置。
3. 可利用条件与攻击面
- 必须用户交互 / 触发点:攻击者需诱使目标打开或解压受恶意压缩包(本地或通过某服务自动解压)。某些自动化场景(如邮件网关对附件自动解压、CI/CD、自动化部署或文件扫描服务)在默认高权限下解压用户文件时尤其危险。
- 权限依赖:若解压操作在普通用户权限下执行,破坏范围通常受限(限于该用户可写位置);若在系统/管理员/服务帐号下执行,则可引发严重影响(覆盖系统文件、持久化载入等)。某些 PoC/讨论指出在 Windows 上创建 symlink 需要更高权限或启用开发者模式,因此实际利用往往依赖服务或管理员上下文。
- 受影响场景:桌面用户打开下载的 ZIP、邮件系统预览或网关解压、云/服务器端自动解压入库、CI 系统自动解压部署包等。
4. 复现/验证(防御角度;不要在生产上运行)
目标:验证是否存在目录逃逸或任意写入(以便评估风险并进行应急处置),请在隔离 VM 上进行。
-
在隔离 Windows VM 上部署易受影响的 7‑Zip 版本(或从发行版安装对应 7‑zip 包),确保做快照备份。
-
使用受控的恶意式 ZIP(研究社区已有示例 / PoC 仓库),在非管理员与管理员上下文分别解压,观察文件是否被写出归档目录外。记录事件日志与进程行为(Process Monitor / Procmon、Sysmon、Event Viewer)。
-
对比打补丁后版本的行为,确保补丁修复有效(重复解压并确认外部写入不再发生)。(注意:不同发行版打包与修补节奏不同,务必确认所用包版本是否包含修复。)
https://github.com/advisories/GHSA-58pw-r2v4-pwjv
5. 检测(可落地规则 / 告警示例)
5.1 主机级检测(Sysmon / EDR)
- 监控在解压/归档目录外创建文件或写入关键目录(例如系统目录、Program Files、启动目录、服务目录等)的文件创建事件,尤其当父进程是 7‑Zip 或常见解压工具时。
- 建议 Sysmon 规则(简化伪示例):
(实际应结合 EDR 提供的具体事件源写规则)
5.2 SIEM / 日志查询(示例伪 KQL)
DeviceFileEvents| where FileName endswith “.exe” or FilePath contains “Program Files” or FilePath contains “Windows\System32″| where InitiatingProcessFileName in (“7z.exe”,”7za.exe”,”7zFM.exe”)| where Timestamp >= ago(7d)
此类规则能捕获由 7‑Zip 触发的可疑写入。
5.3 网络级与 IDS
- 若攻击者通过网络投递 ZIP 并触发远程解压(例如某服务接收 ZIP 并在服务器端自动解压),可以在网络层检测异常上传或未知来源包含 ZIP 的流量并对其进行沙箱解压分析。
6. 取证与事件响应(如果怀疑被利用)
- 保留受影响主机快照与内存转储(用于后续分析和溯源)。
- 收集:Sysmon / Windows Event Logs、IIS/服务日志、文件系统事件(文件创建时间、修改时间)、Process Monitor 捕获。
- 检查是否有被覆盖或新增的可执行文件、计划任务、服务、注册表 Run 键或持久化机制。
- 如果发现已被写入到系统路径或启动目录,优先隔离主机并进行完整取证;对被确认被替换的关键文件,建议重新安装/恢复系统以消除后门风险。
7. 修复与缓解(立刻/短期/长期)
立刻(0–24 小时)
- 升级 7‑Zip 到厂商已发布的修复版本(建议 25.01 及以上,或发行版仓库中对应已修补的包)。不同发行版(Debian/Ubuntu/RedHat)会有各自打包时间表,请优先使用发行版安全更新。
- 阻断自动解压管道:如果邮件网关、云存储或 CI 等有自动解压操作,临时关闭该功能或对接收到的 ZIP 进行严格沙箱与白名单检查。
短期(24–72 小时)
- 限制解压权限:使解压操作以最低权限用户执行,避免以 SYSTEM/Administrator/高权限服务账号自动解压外部文件。若必须自动解压,考虑在受限容器/受控沙箱内执行。
- 阻止来自不可信来源的 ZIP 文件:邮件网关阻断/隔离可疑 ZIP(含 symlink 标志或异常条目),对于高风险 ZIP(含相对路径、
..、symlink 标志)强制进行深度扫描或拒收。
长期(策略)
- 强化文件处理流程(对所有自动化解压场景使用沙箱/最小权限与可审计流水线)。
- 中央化管理 7‑Zip 安装与升级(例如通过 WSUS/企业软件分发或包管理工具),减少各主机滞后版本导致的风险。
8. 可直接使用的检测与运维脚本
PowerShell:查找 Windows 上 7‑Zip 版本(列出安装与可执行)
列出常见 7-Zip 可执行位置与版本$paths = @( “$env:ProgramFiles\7-Zip\7z.exe”, “$env:ProgramFiles(x86)\7-Zip\7z.exe”, “C:\Program Files\7-Zip\7z.exe”)foreach ($p in $paths) { if (Test-Path $p) { $ver = (Get-Command $p).FileVersionInfo.FileVersion [PSCustomObject]@{ Path = $p Version = $ver } }}
Bash:在 Linux 上列出系统安装的 7zip 包版本(Debian/Ubuntu / RPM)
Debian/Ubuntudpkg -l | grep -i 7zip# 或apt list –installed | grep -i p7zip# RHEL/CentOSrpm -qa | grep -i p7zip
(升级命令例:apt update && apt install --only-upgrade p7zip-full 或 yum update p7zip,以发行版仓库为准。)
9. IDS / EDR 策例(示例)
Snort/Suricata 伪规则(检测上传含可疑 ZIP 标志的 HTTP POST)
alert http $EXTERNALNET any -> $HOMENET any (msg:”POSSIBLE ZIP upload – suspicious content-type or filename .zip”; flow:established,toserver; content:”Content-Type: application/zip”; httpheader; content:”.zip”; http_uri; sid:1005001; rev:1;)
配合后端深度分析能提高检测率。
EDR 策略建议
- 规则:当 7z.exe/7zFM.exe 在非临时目录以外创建或修改属于系统路径(如
C:\Windows\,C:\Program Files\,C:\ProgramData\)的文件时,触发高优先级告警并自动隔离该进程。 - 同时对“解压后立即执行新写入二进制”的行为加入链式检测(写入 → 执行)以识别后续利用链。
10. 参考与额外阅读(重要引用)
- ZDI 公告:ZDI‑25‑949 / ZDI‑25‑950(对应 CVE‑2025‑11001 / CVE‑2025‑11002)。
- 多家安全厂商与媒体对漏洞的技术解读(Secure‑ISS、Tom’s Hardware、GBHackers 等)。
- GitHub / OSS 邮件列表讨论(关于 25.00/25.01 修复与差异)。
- 发行版安全通告(Ubuntu / Debian / Snyk 等)。
#
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:云梦安全 云梦DC《技术深度分析 —(7‑Zip:ZIP 中符号链接处理导致目录逃逸 / 任意写入)》