
CVE-2026-55168 的概念验证漏洞利用,演示了在 Runtipi 中通过备份恢复期间的符号链接植入实现经认证的任意文件写入。
本仓库包含一个针对 Runtipi 中 CVE-2026-55168 的简单 PoC。
该问题是一个可通过备份恢复流程触发的经过身份验证的任意文件写入。精心构造的备份压缩包可以在恢复的应用数据中植入符号链接,随后正常的配置更新会跟随该符号链接,将攻击者控制的内容写入预期目录之外。
参考公告:
受影响版本:
<= 4.10.0该 PoC 登录 Runtipi,在内存中创建恶意备份压缩包,上传并触发恢复,然后发送常规的 user-config 更新请求。
恢复负载会植入以下符号链接:
user-config/app.env -> /data/state/proof.txt
之后,更新应用配置的常规请求会导致 Runtipi 将提供的内容写入:
/data/state/proof.txt
因此,重点不仅在于恢复过程中符号链接的持久化,还在于后续合法的写入操作会跟随被植入的符号链接。
poc.py — 端到端 Python PoCpython 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 仅供研究和复现用途。