lukasz-rybak/CVE-2026-21857
GitHub: lukasz-rybak/CVE-2026-21857
该项目提供了针对 REDAXO CMS 备份插件路径遍历漏洞(CVE-2026-21857)的技术分析与利用演示。
Stars: 0 | Forks: 0
# CVE-2026-21857: Redaxo 备份插件存在路径遍历导致任意文件读取
## 概述
| 字段 | 详情 |
|---|---|
| **CVE ID** | [CVE-2026-21857](https://nvd.nist.gov/vuln/detail/CVE-2026-21857) |
| **严重程度** | HIGH |
| **公告** | [查看公告](https://github.com/redaxo/redaxo/security/advisories/GHSA-824x-88xg-cwrv) |
| **发现者** | [Lukasz Rybak](https://github.com/lukasz-rybak) |
## 受影响产品
- **redaxo/source** (版本: <= 5.20.1)
## CWE 分类
- CWE-22: 对路径名的限制不恰当(“路径遍历”)
- CWE-24: 路径遍历: '../filedir'
## 详情
### 摘要
拥有备份权限的已认证用户可以通过 Backup 插件的文件导出功能中的路径遍历,读取 webroot 内的任意文件。
### 详情
Backup 插件未针对 UI 生成的允许目录列表验证 `EXPDIR` POST 参数。
攻击者可以提供包含 `../` 序列的相对路径(甚至文档根目录内的绝对路径),从而将任何可读文件包含在生成的 `.tar.gz` 存档中。
存在漏洞的代码:
- `redaxo/src/addons/backup/pages/export.php` (第 72-76 行) – 直接使用 `$_POST['EXPDIR']`
- `redaxo/src/addons/backup/lib/backup.php` (第约 413 行及约 427 行) – 将未经净化的用户输入与基础路径进行拼接
这会导致敏感文件泄露,例如:
- `redaxo/data/core/config.yml` → 数据库凭据 + 所有后端用户的密码哈希
- `.env`、自定义配置文件、日志、上传的恶意文件等。
### 受影响版本
≤ 5.20.1 (已确认受影响)
### 已修复版本
无 (截至 2025-12-09)
### PoC – 提取数据库凭据和密码哈希
1. 以任何拥有 Backup 权限的用户身份登录
2. 进入 Backup → Export → Files
3. 使用 Burp Suite 拦截请求
4. 将其中一个 `EXPDIR[]` 值更改为 `../../../../var/www/html/redaxo/data/core`
5. 发送请求 → 下载存档
6. 解压并打开 `data/core/config.yml`
结果:明文数据库密码
### 影响
完全攻陷 REDAXO 安装实例:
- 接管数据库
- 提取密码哈希 → 离线破解 → 获取管理员权限
- 结合其他漏洞 → RCE
下方的 CVSS 4.0 向量及评分。
### 致谢
发现者:Łukasz Rybak
## 参考
- https://github.com/redaxo/redaxo/security/advisories/GHSA-824x-88xg-cwrv
- https://github.com/redaxo/redaxo/releases/tag/5.20.2
- https://nvd.nist.gov/vuln/detail/CVE-2026-21857
- https://github.com/advisories/GHSA-824x-88xg-cwrv
## 免责声明
此 CVE 是遵循协同漏洞披露规范进行负责任披露的。此处提供的信息仅用于教育和防御目的。
### 详情
Backup 插件未针对 UI 生成的允许目录列表验证 `EXPDIR` POST 参数。
攻击者可以提供包含 `../` 序列的相对路径(甚至文档根目录内的绝对路径),从而将任何可读文件包含在生成的 `.tar.gz` 存档中。
存在漏洞的代码:
- `redaxo/src/addons/backup/pages/export.php` (第 72-76 行) – 直接使用 `$_POST['EXPDIR']`
- `redaxo/src/addons/backup/lib/backup.php` (第约 413 行及约 427 行) – 将未经净化的用户输入与基础路径进行拼接
这会导致敏感文件泄露,例如:
- `redaxo/data/core/config.yml` → 数据库凭据 + 所有后端用户的密码哈希
- `.env`、自定义配置文件、日志、上传的恶意文件等。
### 受影响版本
≤ 5.20.1 (已确认受影响)
### 已修复版本
无 (截至 2025-12-09)
### PoC – 提取数据库凭据和密码哈希
1. 以任何拥有 Backup 权限的用户身份登录
2. 进入 Backup → Export → Files
3. 使用 Burp Suite 拦截请求
4. 将其中一个 `EXPDIR[]` 值更改为 `../../../../var/www/html/redaxo/data/core`
5. 发送请求 → 下载存档
6. 解压并打开 `data/core/config.yml`
结果:明文数据库密码
### 影响
完全攻陷 REDAXO 安装实例:
- 接管数据库
- 提取密码哈希 → 离线破解 → 获取管理员权限
- 结合其他漏洞 → RCE
下方的 CVSS 4.0 向量及评分。
### 致谢
发现者:Łukasz Rybak
## 参考
- https://github.com/redaxo/redaxo/security/advisories/GHSA-824x-88xg-cwrv
- https://github.com/redaxo/redaxo/releases/tag/5.20.2
- https://nvd.nist.gov/vuln/detail/CVE-2026-21857
- https://github.com/advisories/GHSA-824x-88xg-cwrv
## 免责声明
此 CVE 是遵循协同漏洞披露规范进行负责任披露的。此处提供的信息仅用于教育和防御目的。标签:CMS, CVE, CWE-22, EXPDIR, HTTP工具, OpenVAS, Path Traversal, PHP, POC, Redaxo, tar.gz, Web安全, 任意文件读取, 备份插件, 安全公告, 安全防护, 敏感文件, 数字签名, 文件泄露, 权限绕过, 漏洞分析, 漏洞复现, 网络安全审计, 蓝队分析, 路径探测, 路径遍历, 高危漏洞