HTTP/2ボム(CVE-2026-49975):HPACK+フロー制御DoS攻撃とパッチ方法
それぞれ十年間公開されていた2つの脆弱性が組み合わせられ、デフォルト設定で主要5つのWebサーバーをダウンさせる一つのリモートDoS攻撃になった。自宅の100Mbps回線を持つクライアント一台で、約20秒で約32GBのRAMをロックできる。ボットネットも資格証明も不要、ノートパソコン一台で完結する。重要なのは攻撃チェーンそのものではない。注目すべきは、AIがコードベースを読み込んで2つの既知の悪意ある挙動が合成されることに気づき、発見したことだ。インフラの脆弱性発見がAI駆動のコードレビューに依存し始めていることを示している。
背景と概要
セキュリティコミュニティで「HTTP/2ボム」と呼ばれるCVE-2026-49975は、ゼロデイ攻撃のような新奇な技術ではなく、HTTP/2仕様において約10年間存在していた2つの既知の欠陥が、特定の条件下でシナジー効果を生み出した結果として明らかになりました。この脆弱性の核心は、HPACKヘッダー圧縮アルゴリズムとフロー制御メカニズムの間の複雑な相互作用にあります。HPACKは帯域幅を最適化するために設計されていますが、この動的テーブルの管理と、WINDOW_UPDATEフレームを介してデータ伝送を制御するフロー制御システムの間には、致命的な状態機械の欠陥が存在していました。この欠陥により、攻撃者は従来のエラー状態を引き起こすことなく、サーバーのメモリ割り当て動作を操作することが可能になりました。
この脆弱性の実際の影響は甚大かつ即時的です。家庭用の100Mbpsブロードバンド接続を持つ標準的なノートパソコン一台だけで、ターゲットサーバーに対して約20秒以内に約32GBのRAMを割り当て・ロックするリモートサービス拒否(DoS)攻撃を実行できます。認証資格情報も不要であり、大規模なボットネットの協調も必要ないため、多くの脅威アクターにとってアクセス可能な攻撃手法となっています。この脆弱性は、デフォルト設定のNginx、Apache、Caddy、Lighttpd、Microsoft IISという、最も広くデプロイされている5つの主要Webサーバーに影響を与えます。これらのサーバーは、ヘッダーテーブルサイズやフロー制御ウィンドウ調整に対する厳格な制限なしに標準的なHTTP/2トラフィックを受け入れるように設定されているため、この特定の構成されたHTTP/2フレームシーケンスに対して本質的に脆弱です。
深掘り分析
CVE-2026-49975の技術的メカニズムは、HPACK動的テーブルのために割り当てられたメモリライフサイクルを標的とした、HTTP/2状態機械の精密な操作に焦点を当てています。サーバーがHEADERSフレームを受信すると、HPACKアルゴリズムを使用してヘッダーをデコードする必要があります。このプロセスには、動的テーブルの更新が含まれ、これにはメモリ割り当てが必要です。通常、フロー制御メカニズムは、フライト中のデータの量を制限することで、送信者が受信者を圧倒しないようにします。しかし、脆弱性は、動的テーブルの頻繁な更新を引き起こしながら、同時にWINDOW_UPDATEフレームの処理方法における抜け穴を悪用するHEADERSフレームの特定のシーケンスから生じます。攻撃者は、サーバーが各更新のために新しいメモリブロックを割り当てるように継続的に動的テーブルを拡張させるフレームを構成します。
これにより、メモリ割り当てが事実上一方向のシナリオが作成されます。サーバーは動的テーブルエントリのためにメモリを継続的に割り当てますが、フロー制御メカニズムは、これらのリソースが必要なくなったことを認識したり、システムプールに戻したりするための必要なクリーンアップやリサイクルをトリガーしません。サーバーの内部状態機械は、データが消費されているか、ウィンドウサイズ調整が最終的に適切なリソース解放を可能にするものと誤って想定します。実際には、メモリブロックはロックされたままになり、メモリ使用量が指数関数的に増加します。この動作は、プロトコルのコア機能における論理エラーに依存するのではなく、リソースライフサイクル管理における境界条件の不具合に基づいているため、特に悪質です。トラフィックは正当なHTTP/2インタラクションとして見えるため、レート制限や単純なパケットフィルタリングなどの従来の防御は無効です。
業界への影響
CVE-2026-49975の開示は、特にWebインフラストラクチャセキュリティの分野において、サイバーセキュリティ業界に深い影響を与えています。シグネチャベースの検出や単純なトラフィックパターン分析に依存する従来のWebアプリケーションファイアウォール(WAF)は、この攻撃に対してほぼ効果的ではありません。悪意のあるトラフィックはHTTP/2プロトコル仕様準拠であるため、標準的な異常検出ルールはトリガーされません。セキュリティチームは、ディープパケット検査とプロトコル状態機械検証を含む、より洗練された検出方法を採用する必要があります。この移行には、単純なシグネチャマッチングから行動分析への移行に伴い、新しいテクノロジーと専門知識への重大な投資が必要です。レガシーセキュリティツールがこの脅威を識別できないことは、セキュリティスタックにおける拡大するギャップを浮き彫りにし、エンタープライズが防御戦略を見直し、プロトコル固有の制約を理解し強制できる次世代セキュリティソリューションへの投資を余儀なくされています。
Webサーバーベンダーやオープンソースメンテナーにとって、この事案は、開発およびデプロイメントフェーズにおけるセキュリティの優先順位付けに関する重要な教訓となっています。5つの主要サーバーがデフォルト設定で脆弱であったことは、セキュリティがどのように優先されているかというシステム的な問題を示しています。ベンダーは、パッチだけでなく、そのようなリスクを緩和するための構成のハードニングに関するガイダンスを提供する圧力を受けています。これには、接続あたりの最大ヘッダー数の制限、HPACK動的テーブルのサイズの縮小、より厳格なフロー制御ポリシーの実装が含まれます。また、この事案はセキュリティ市場の競争環境にも影響を与えます。自動化されたパッチングツールと高度なプロトコル分析機能を提供できる企業は、市場の信頼性と採用において大きな優位性を得る可能性があります。一方、従来のシグネチャベース製品にのみ依存するベンダーは、より堅牢でインテリジェントなセキュリティソリューションを求める顧客の間で辺境地化されるリスクに直面しています。
今後の展望
CVE-2026-49975事案で最も重要な側面は、攻撃の技術的詳細そのものではなく、それが発見された方法にあります。この脆弱性は、影響を受けたWebサーバーのコードベースを分析し、2つの既知の無害な動作が組み合わさって新たな深刻な脅威を生み出すことを認識したAIツールによって特定されました。これはセキュリティ研究の進化において画期的な瞬間を示しており、AI駆動のコードレビューが、複雑で多段階の脆弱性を検出する能力において、従来の手動監査を超えたことを実証しています。AIシステムは膨大な量のコードを処理し、人間のアナリストが見逃す可能性のある、異なるコンポーネント間の微妙な相互作用を特定できます。この機能は、脆弱性発見の Landscape を変革し、以前は現代のソフトウェアシステムの複雑さの中に隠れていた脅威の特定を可能にしています。AIツールがより洗練されるにつれて、重要インフラストラクチャのセキュリティ確保において、さらに大きな役割を果たすことになります。
しかし、セキュリティにおけるAIの台頭は新たな課題も提示します。ディフェンダーが脆弱性を見つけるためにAIを活用するのと同様に、攻撃者もエクスプロイトチェーンの自動化された発見に同様のツールを使用できます。AI駆動の防御とAI駆動の攻撃の間のこの軍拡競争は、洗練された攻撃の頻度の増加をもたらす可能性があります。これに対抗するため、業界は堅牢なAI支援セキュリティ開発ライフサイクル(SDL)を開発する必要があります。これには、コードレビューにAIを使用するだけでなく、ソフトウェアおよびプロトコルの設計フェーズに形式検証と敵対的テストを統合することが含まれます。プロトコルが最初からセキュリティを念頭に置いて設計されていることを保証することで、組織はこのような脆弱性が最初に導入される可能性を減らすことができます。さらに、脆弱性開示とパッチ配布プロセスの標準化を改善し、発見から修正までの時間を短縮することで、重要システムへの曝露ウィンドウを最小限に抑える必要があります。