
自社開発のESXIスタックオーバーフローに対するCVE-2021-21974 POC。プロジェクトで指定されたターゲットと環境のみをサポートし、学習および研究用です。
VMware ESXi OpenSLP ヒープオーバーフローリモートコード実行 PoC
Author: Aiyakami
CVE-2021-21974 は VMware ESXi の OpenSLP サービスに存在するヒープオーバーフローの脆弱性です。攻撃者は認証なしで、ネットワークを介してターゲット ESXi ホストの SLP サービス(デフォルトポート 427)に細工したパケットを送信し、リモートコード実行(RCE)を達成できます。
このリポジトリは、実際の ESXi 6.7 環境で安定して再現可能な単一ファイルの Python PoC を提供します。純粋なネットワーク経路で突破し、ターゲットのローカル認証情報や SSH アクセスを必要とせずにコマンド実行をトリガーします。
| 項目 | 情報 |
|---|---|
| 目標システム | VMware ESXi 6.7.0 Update03 |
| Build 番号 | 14320388 |
| 脆弱性サービス | OpenSLP (slpd),ポート 427 |
| テスト成功率 | 100% |
公式 VMware-VMvisor-Installer 6.7.0 update03 build-14320388 ISO:
この ISO は上記テスト環境で使用したオリジナルインストールイメージであり、本 PoC の 100% の成功率を完全に再現できます。
以下の2つのスクリーンショットは、本 PoC を ESXi 6.7 build-14320388 で実際に実行した結果です。


# 目標 ESXi ホストは slpd サービスを実行している必要があります(デフォルト 427 ポート)
python CVE-2021-21974.py
スクリプトの実行時には作者のクレジットが表示され、その後、完全なエクスプロイトチェーンが実行されます:
stage1 情報漏洩 → 任意アドレス読み取り → libc ベースアドレス漏洩 → DB バッファ位置特定 → __free_hook を system に書き換え → SrvDeReg によるコマンド実行トリガー。
デフォルトの COMMAND は次の通りです:
echo PWNED_BY_CVE_2021_21974>/tmp/p
成功すると、ターゲットホストの /tmp/p に PWNED_BY_CVE_2021_21974 が表示されます。
注:本 PoC は固定ヒープレイアウトパラメータに基づいており、ターゲット ESXi 6.7 build-14320388 の slpd / glibc バージョンに依存します。環境を変更する場合は、fd / size / pacing パラメータを適宜調整する必要があります。
本プロジェクトは、許可されたセキュリティ研究および CTF / AWD 教育シナリオのためにのみ使用され、隔離されたサンドボックス環境で検証されます。許可されていない実際のシステムには使用しないでください。使用者はこれにより生じるすべての法的責任を負うものとします。