Oracle OKIT(oci-designer-toolkit)版本 0.3.0 包含两个严重的错误配置,可串联导致未经身份验证的完全接管。公开仓库中暴露的硬编码 Flask SECRET_KEY 允许任何攻击者伪造有效的管理员会话 Cookie——无需任何凭据。此外,Docker 镜像完全禁用了 SSH 主机验证,使网络攻击者能够在基础设施部署期间拦截 OCI API 密钥和私钥。
1. 硬编码 SECRET_KEY — okitclassic/okitserver/config.py:4
SECRET_KEY='8980ffsd675747jjjh'
Flask 使用此密钥对会话 Cookie 进行签名。由于它硬编码在公开仓库中,攻击者可以伪造有效的管理员 Cookie,并在零凭据的情况下访问 OKIT 仪表板。
2. SSH 主机验证已禁用 — Dockerfile:41
&& echo ' StrictHostKeyChecking no' >> /etc/ssh/ssh_config \
&& echo ' UserKnownHostsFile=/dev/null' >> /etc/ssh/ssh_config \
该容器从不检查 SSH 主机指纹。网络攻击者可以对部署进行中间人攻击并窃取 OCI 凭据。
在克隆的仓库目录内运行 exploit.py:
python3 exploit.py
[*] Scanning okitclassic/okitserver/config.py ...
[!] VULNERABLE — Hardcoded SECRET_KEY found: 8980ffsd675747jjjh
[+] Authentication bypass possible with zero credentials.
[*] Scanning Dockerfile ...
[!] VULNERABLE — SSH host verification is DISABLED.
[+] Network attacker can MitM deployments and steal OCI credentials.
[*] Forging admin session cookie ...
[!] SUCCESS — Forged cookie: .eJwlzj0OgkAQBeC7bG1...
| CVE ID | CVE-2026-21994 |
| GitHub 安全公告 | GHSA-g6qw-3gmw-m78m |
| CWE | CWE-284 — 访问控制不当 |
| Oracle 安全公告映射 | oracle.com/security-alerts/public-vuln-to-advisory-mapping |
| Oracle CVE 参考 | oracle.com/security-alerts/all-oracle-cves |
| 修复 | oracle/oci-designer-toolkit#780 |
由 Gouri Sankar A 发现并报告 — g0w6y