Apache HTTP/2 Bomb とは|CVE-2026-49975 の影響範囲と対処

  • URLをコピーしました!
目次

はじめに

Web サーバーソフトウェアとして広く使われている Apache HTTP Server に、HTTP/2 の処理に関する DoS(サービス妨害)脆弱性 CVE-2026-49975 が公表されました。「HTTP/2 Bomb」という通称で報じられており、Apache だけでなく複数の Web サーバーのデフォルト HTTP/2 構成に関わる点が特徴です。インターネットに公開している Apache を運用している場合、自環境が影響を受けるかどうかの確認と、必要な対処の判断が求められます。

この記事でわかること
  • CVE-2026-49975(HTTP/2 Bomb)がどのような脆弱性か
  • 影響を受ける Apache のバージョンと、自環境が対象かどうかの確認方法
  • Apache 2.4.68 へのアップグレード手順と、すぐに更新できない場合の暫定緩和策
  • nginx・IIS・Envoy など他の Web サーバーへの影響範囲

本脆弱性は Apache HTTP Server 2.4.17 から 2.4.67 までが影響を受け、HTTP/2(mod_http2)を有効にしているサーバーが対象となります。対処の基本は 2.4.68 へのアップグレード、または各ディストリビューションが提供する修正パッケージの適用で、すぐに更新できない場合は HTTP/2 の一時無効化などの緩和策を検討することになります。以降のセクションで、影響範囲の確認手順から具体的な対処までを順に解説します。

CVE-2026-49975(HTTP/2 Bomb)の概要

CVE-2026-49975 は、Apache の HTTP/2 処理を担う mod_http2 において、少量のリクエストデータが内部で過大なメモリ割り当てを引き起こす DoS 脆弱性です。2026 年 6 月 3 日に公開され、Apache のほか NGINX・Microsoft IIS・Envoy・Cloudflare Pingora といった主要な Web サーバーのデフォルト HTTP/2 構成に影響するとされています。

参考: CVE Record(CVE-2026-49975)
“Memory Allocation with Excessive Size Value vulnerability in Apache HTTP Server’s mod_http2”
(Apache HTTP Server の mod_http2 における過大なサイズ値のメモリ割り当ての脆弱性)
https://www.cve.org/CVERecord?id=CVE-2026-49975

脆弱性の仕組み(HPACK 増幅とフロー制御ホールド)

この脆弱性は、単一の新しい欠陥ではなく、以前から知られていた HTTP/2 の弱点を組み合わせた攻撃手法として報告されています。HPACK(HTTP/2 のヘッダー圧縮)テーブルに大きなエントリを 1 つ登録させたうえで、そのエントリを参照する小さなリクエストを多数送ることで、サーバー側にヘッダー再構成のためのメモリ確保を繰り返させる点が中核です。これに Slowloris 型のフロー制御ウィンドウの保持を組み合わせ、確保させたメモリを解放させないまま接続を維持することで、メモリ枯渇に追い込みます。

結果として、少ない通信量で大きなメモリ消費を引き起こせる点が実務上のリスクとなります。報告された増幅率は Apache httpd で約 4,000:1 とされ、攻撃は家庭用のインターネット回線からでも実行し得ると説明されています。本記事では攻撃の再現手順には踏み込まず、影響判定と対処に焦点を当てます。

なお、Apache 側の修正は、発見者の説明によると Cookie ヘッダーのフラグメントを LimitRequestFields の上限計上に含めるようにするものです。HTTP/2 のヘッダー処理において、分割された Cookie ヘッダーが設定済みの上限をすり抜けてしまう挙動を是正する内容と位置づけられています。

深刻度の評価と「HTTP/2 Bomb」という呼称の背景

深刻度の評価は情報源によって幅があります。Apache 公式の評価は moderate(中)で、発見者は Calif.IO の Quang Luong 氏(OpenAI Codex との協働)とされています。一方、Red Hat は本脆弱性を Important(重要)と評価し、CVSSv3 スコア 7.5(CWE-409)を付与しています。WAF ベンダーなどは「HTTP/2 Bomb」と呼び、即時のサービス停止につながり得る重大な DoS として扱う例もあります。

「HTTP/2 Bomb」という呼称は、この攻撃が特定の 1 製品にとどまらず、HTTP/2 のデフォルト実装に共通する構造的な弱点を突く点に由来します。影響を受け得る公開サーバーは 88 万件規模に上る可能性があると報じられており、HTTP/2 を有効にしている公開環境では、まず自環境の対象判定を行うことが出発点となります。

影響を受けるバージョンと自環境の確認方法

本脆弱性の影響を受けるのは、Apache HTTP Server 2.4.17 から 2.4.67 までです。HTTP/2 機能を提供する mod_http2 が Apache 2.4.17 で追加されたため、この範囲が対象となります。ただし、対象バージョンであっても HTTP/2 を有効にしていない場合は本脆弱性の影響を受けません。まずは稼働中のバージョンと HTTP/2 の有効状態を確認します。

なお、Apache の導入手順自体は関連記事『Apache とは|Ubuntu へのインストールと HTTPS 化の手順』にまとめています。

参考: Apache HTTP Server 公式ドキュメント(mod_http2)
“You must enable HTTP/2 via Protocols”
(HTTP/2 を利用するには Protocols ディレクティブでの有効化が必要)
https://httpd.apache.org/docs/current/mod/mod_http2.html

稼働中の Apache バージョンの確認手順

Debian / Ubuntu 系では apache2ctl(または apache2)を使用します。

apache2ctl -v

出力例は Server version: Apache/2.4.58 (Ubuntu) のような形式です。RHEL 系(RHEL・Rocky Linux・AlmaLinux 等)では httpd コマンドを使用します。

httpd -v

なお、ディストリビューションのパッケージはセキュリティ修正をバックポートするため、表示されるバージョン番号だけで対策済みかを判断できない点に注意が必要です。判定はパッケージのリビジョン(後述)やベンダーのセキュリティ告知とあわせて行うことをおすすめします。

HTTP/2(mod_http2)が有効かどうかの確認

mod_http2 がロードされているかは、ロード済みモジュールの一覧から確認できます。

# Debian / Ubuntu 系
apache2ctl -M | grep http2

# RHEL 系
httpd -M | grep http2

http2_module (shared) のように表示されれば、モジュールはロード済みです。さらに、実際に HTTP/2 が有効化されているかは、設定ファイル内の Protocols ディレクティブに h2(TLS 上の HTTP/2)または h2c(平文の HTTP/2)が含まれるかで判断します。

# Debian / Ubuntu 系
grep -ri "Protocols" /etc/apache2/

# RHEL 系
grep -ri "Protocols" /etc/httpd/

Protocols h2 h2c http/1.1 のように h2 / h2c が指定されていれば HTTP/2 が有効です。指定がなく http/1.1 のみであれば、本脆弱性の影響対象からは外れます。

対処1: 修正版へのアップデート

最も確実な対処は、修正が反映されたパッケージへのアップデートです。Apache 公式は 2.4.68 へのアップグレードを推奨していますが、実運用では多くの環境がディストリビューションのパッケージを利用しているため、パッケージ更新が基本となります。

参考: Apache HTTP Server 2.4 vulnerabilities
“Users are recommended to upgrade to version 2.4.68, which fixes the issue.”
(ユーザーには本脆弱性を修正する 2.4.68 へのアップグレードが推奨される)
https://httpd.apache.org/security/vulnerabilities_24.html

Ubuntu / Debian 系での更新

パッケージリストを更新したうえで、apache2 を更新します。

sudo apt update
sudo apt upgrade apache2

Ubuntu・Debian は修正をバックポートして提供するため、更新後のバージョン番号は 2.4.68 ではなく、2.4.58-1ubuntu... のようなディストリビューション独自のリビジョン形式のままです。対策の適用状況は、Ubuntu のセキュリティ告知(本脆弱性は USN-8384-1)やパッケージのリビジョン番号で確認することをおすすめします。

RHEL 系での更新

RHEL・Rocky Linux・AlmaLinux 系では dnf で httpd を更新します。

sudo dnf update httpd

Red Hat も同様に修正をバックポートして提供しており、本件は RHSB-2026-007 として公開されています。Red Hat 環境では、コミュニティ版や自前でビルドした Apache はサポート対象外となるため、ベンダー提供のパッケージで更新することをおすすめします。

更新後は Apache を再起動し、稼働を確認します。

sudo systemctl restart apache2   # Debian / Ubuntu 系
sudo systemctl restart httpd     # RHEL 系

対処2: アップグレードが難しい場合の暫定緩和策

すぐにアップデートできない事情がある場合、暫定的に HTTP/2 を無効化することで攻撃面を縮小できます。HTTP/2 を無効化すると、対象サーバーへの接続は HTTP/1.1 にフォールバックします。

Debian / Ubuntu 系では、mod_http2 を無効化する方法が簡便です(参照: https://httpd.apache.org/docs/current/mod/mod_http2.html

sudo a2dismod http2
sudo systemctl restart apache2

全ディストリビューション共通の方法として、設定ファイルの Protocols ディレクティブから h2 / h2c を取り除く方法もあります。

# 変更前
Protocols h2 h2c http/1.1

# 変更後(HTTP/1.1 のみに変更)
Protocols http/1.1

変更後は設定の構文チェック(apache2ctl configtest または httpd -t)を行ってから再起動します。HTTP/2 の無効化は通信性能などの面でトレードオフがあるため、あくまでアップデートまでの一時的な措置と位置づけることをおすすめします。

他サーバーへの影響(nginx・IIS・Envoy・Cloudflare Pingora)

「HTTP/2 Bomb」は Apache 固有の問題ではなく、HTTP/2 のデフォルト実装に共通する構造的な弱点を突くものです。発見者の Calif は、OpenAI Codex が「圧縮爆弾」と「Slowloris 型のホールド」という既知の 2 手法を連鎖させて発見したと説明しています。各サーバーの対応状況は分かれており、本記事執筆時点では次のとおりです。

サーバー対応状況(2026 年 6 月時点)補足
nginx1.29.8 で修正済みmax_headers ディレクティブを追加(既定値 1000)。nginx 固有の CVE は未割り当て
Apache httpd2.4.68 / 各ディストリビューションのバックポートで修正済みCVE-2026-49975
Envoy修正パッチ公開済みCVE-2026-47774。発見者側で検証継続中
Microsoft IISパッチ未提供Microsoft は調査中。HTTP/2 無効化やヘッダー数制限などの緩和を検討
Cloudflare PingoraCloudflare は追加対応不要との見解既存のアーキテクチャと DDoS 緩和で自動的に防御すると説明

参考: Calif(Codex Discovered a Hidden HTTP/2 Bomb)
“Envoy has released patches that appear to mitigate this attack”
(Envoy はこの攻撃を緩和すると見られるパッチを公開した)
https://blog.calif.io/p/codex-discovered-a-hidden-http2-bomb

nginx は 1.29.8 で対応し、Apache も修正済みである一方、Microsoft IIS と Cloudflare Pingora は公開時点でパッチが提供されておらず、Microsoft は調査中、Cloudflare は既存の防御で対応済みとの立場を示しています。利用中のサーバーが対象に含まれる場合は、各ベンダーのセキュリティ告知を継続的に確認することをおすすめします。Apache 以外を運用している場合の暫定策も、基本は本記事の対処 2 と同様に HTTP/2 の無効化やヘッダー数の上限設定 が中心となります。

まとめ

CVE-2026-49975 は、Apache HTTP Server の HTTP/2 処理における DoS 脆弱性であり、複数の Web サーバーに共通する「HTTP/2 Bomb」の Apache 版にあたります。影響を受けるのは HTTP/2 を有効にした 2.4.17〜2.4.67 で、対処の基本は修正版へのアップデートです。すぐに更新できない場合は、HTTP/2 の一時無効化で攻撃面を縮小できます。

  • 影響範囲は Apache HTTP Server 2.4.17 から 2.4.67
  • 攻撃手法は HPACK 圧縮爆弾と Slowloris 型ホールドの組み合わせ
  • HTTP/2(mod_http2)を無効化した環境は影響対象外
  • 対処の基本はディストリビューションのパッケージ更新(バックポート修正の適用)
  • 公式ソース版は 2.4.68 へのアップグレードで修正
  • 即時更新が難しい場合は HTTP/2 の一時無効化が緩和策
  • 深刻度は Apache が moderate、Red Hat が Important(CVSS 7.5)

以上、最後までお読みいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

関西を拠点に活動する、現役インフラエンジニア。経験20年超。

大手通信キャリアにて、中〜大規模インフラ(ネットワーク・サーバ・クラウド・セキュリティ)の設計・構築およびプロジェクトマネジメントに従事。現場で直面した技術課題への対処や、最新の脆弱性情報への実務対応を、一次情報として発信しています。

保有資格
CCIE Lifetime Emeritus(取得から20年以上)/ VCAP-DCA / Azure Solutions Architect Expert

▶ 運営者プロフィール(詳細)

目次