このリポジトリには、CONTINUATIONフレームのフラッドによって引き起こされるEnvoyのCPU枯渇脆弱性を実証するための概念実証(PoC)Pythonスクリプトが含まれています。著者: blackmagic 2024
Envoyは、モダンなクラウドネイティブアプリケーション向けに設計された、クラウドネイティブなオープンソースのエッジおよびサービスプロキシです。ただし、1.29.3、1.28.2、1.27.4、1.26.8より前のバージョンは、CONTINUATIONフレームのフラッドによるCPU枯渇の脆弱性の影響を受けます。EnvoyのHTTP/2コーデックは、クライアントがEnvoyのヘッダーマップ制限を超えた後でも無制限にCONTINUATIONフレームを送信することを許可します。このPoCスクリプトは、ペイロードを含む多数のCONTINUATIONフレームを送信して脆弱性をシミュレートし、ターゲットのEnvoyサーバーのCPUリソースを枯渇させます。
git clone https://github.com/blackmagic2023/Envoy-CPU-Exhaustion-Vulnerability-PoC.git
cd Envoy-CPU-Exhaustion-Vulnerability-PoC
テスト環境に応じて、TARGET_HOST、TARGET_PORT、NUM_CONTINUATION_FRAMES、CONTINUATION_PAYLOAD変数を含むスクリプトを必要に応じて変更します。
Pythonスクリプトを実行します:
python3 envoyPOC.py
このPoCスクリプトは教育および研究目的のみで提供されます。違法行為にこのスクリプトを使用しないでください。許可なく本番環境のEnvoyサーバーに対してこのスクリプトを実行することは、違法かつ非倫理的である可能性があります。責任を持って、自分が所有するシステムまたはテストする明示的な許可があるシステムでのみ使用してください。