Apache HTTP Server の脆弱性 “HTTP/2 Bomb” CVE-2026-49975 にPoC:DDoS 攻撃を実証

PoC Exploit Released for HTTP/2 Bomb Remote DoS Vulnerability in Apache HTTP Server

2026/06/18 CyberSecurityNews — Apache が公開したのは、HTTP Server に存在する深刻なサービス拒否の脆弱性 CVE-2026-49975 に対する PoC (proof-of-concept) エクスプロイト情報である。この脆弱性は “HTTP/2 Bomb” と呼ばれている。この欠陥を突くリモート攻撃者は、認証を必要とすることなくサーバのメモリを枯渇させ、サービスを妨害できる。そのため、パッチ未適用の Apache デプロイメントを運用する組織に、重大なリスクが生じている。

この脆弱性は、Apache HTTP Server の HTTP/2 リクエスト処理パスに存在する。複数の cookie ヘッダー・フィールドを処理する際に、それらは LimitRequestFields ディレクティブに対して適切にカウントされない状態でマージされる。その結果、重要なリソース保護メカニズムが事実上バイパスされる。

小さな HPACK エンコード済み HTTP/2 リクエストを細工する攻撃者は、展開時に大量の cookie ヘッダー・フィールドへと伸長させることが可能になる。それにより cookie ヘッダーのマージ中に、サーバは各フィールドを展開するための、メモリ割り当てを繰り返して実行することになる。

さらに攻撃者は、初期ウィンドウ・サイズをゼロに設定することで HTTP/2 フロー制御を武器化し、レスポンス送信を意図的に停止させ、影響を受けるストリームを無期限に開いた状態で維持させる。これにより、サーバは割り当て済みメモリを解放できなくなり、持続的なメモリ枯渇状態が生じる。

PoC エクスプロイト HTTP/2 Bomb

この脆弱性が影響を及ぼす範囲は、Apache HTTP Server バージョン 2.4.17 〜 2.4.67 であり、Apache HTTP Server 2.4.68 以降で修正されている。

GitHub の EQSTLab/CVE-2026-49975 で公開された PoC は、Python ベースのエクスプロイト・スクリプトを使用して、この攻撃を実証するものだ。この攻撃は Docker 化された環境で再現可能であり、サーバは 8 GB のメモリ制限を持つコンテナとして実行される。

攻撃者は、以下を制御するパラメータを指定してスクリプトを実行する。

  • Connections and streams:同時 HTTP/2 接続数およびストリーム数 (例:10 接続 × 100 ストリーム)
  • HPACK references:cookie フィールド展開を最大化するための最大 4,091 件のヘッダー・テーブル参照
  • Flow control hold:データ送信を最大 300 秒停止させるために、初期ウィンドウを “0′ に設定
  • Drip-feeding:ストリームを人工的に生存させ続けるために、2 秒ごとに 1 バイトだけ解放

この PoC のテスト中に、Apache コンテナ内で観測されるメモリ使用量は急激に増加し、保持期間全体を通じて高止まりした。これにより、メモリ枯渇が成功したことが確認された。

悪用に成功した攻撃者は、リモートからのサービス拒否/過剰なメモリ消費/正規ユーザー・リクエスト処理の遅延と失敗などを引き起こし、特権アクセスなしにサーバを事実上オフラインにできる。

緩和策
  • 直ちに Apache HTTP Server 2.4.68 以降へと、アップグレードする。
  • 運用上 HTTP/2 が不要なサーバでは、パッチ適用が可能になるまで HTTP/2 を一時的に無効化する。
  • 早期検出シグナルとして、Web サーバのコンテナまたはプロセスにおける異常なメモリ増加パターンを監視する。

A proof-of-concept (PoC) exploit has been publicly released for a critical Denial of Service vulnerability in Apache HTTP Server, tracked as CVE-2026-49975, dubbed the “HTTP/2 Bomb.”

The flaw allows remote attackers to exhaust server memory and disrupt services without authentication, posing a significant risk to organizations running unpatched Apache deployments.

The vulnerability lies in the HTTP/2 request-handling path of Apache HTTP Server. When multiple cookie header fields are processed, they are merged without being properly counted against the LimitRequestFields directive effectively bypassing a key resource protection mechanism.

An attacker can craft a small, HPACK-encoded HTTP/2 request that decompresses into a large number of cookie header fields. During Cookie header merging, the server is forced to repeatedly allocate memory for each field expansion.

The attacker then weaponizes HTTP/2 flow control by setting the initial window size to zero, deliberately stalling response transmission and keeping affected streams open indefinitely. This prevents the server from releasing the allocated memory, creating a sustained memory exhaustion condition.

PoC Exploit HTTP/2 Bomb

All Apache HTTP Server versions from 2.4.17 through 2.4.67 are vulnerable. The flaw has been patched in Apache HTTP Server 2.4.68 and later.

The publicly released PoC, available on GitHub at EQSTLab/CVE-2026-49975, demonstrates the attack using a Python-based exploit script. The attack is reproducible in a Dockerized environment, where the server is containerized with an 8 GB memory limit.

Attackers invoke the script with parameters controlling:

  • Connections and streams — number of concurrent HTTP/2 connections and streams (e.g., 10 connections × 100 streams)
  • HPACK references — up to 4,091 header table references to maximize cookie field expansion
  • Flow control hold — initial window set to 0 to halt data transmission for up to 300 seconds
  • Drip-feeding — releasing just 1 byte every 2 seconds to keep streams artificially alive

During testing, observable memory usage in the Apache container climbs steeply and remains elevated throughout the hold period, confirming successful memory exhaustion.

A successful exploit results in remote Denial of Service, excessive memory consumption, and delayed or failed processing of legitimate user requests, effectively taking the server offline without any privileged access.

Mitigations

  • Upgrade immediately to Apache HTTP Server 2.4.68 or later.
  • Disable HTTP/2 temporarily on servers where it is not operationally required until patching is feasible.
  • Monitor for anomalous memory growth patterns in web server containers or processes as an early detection signal.

Follow us on Google NewsLinkedIn, and X to Get More Instant Updates.