HTTP/3サーバーを1回の接続で停止させられる欠陥「QPACK」、メモリ消費が最大4,000倍に膨らむ

Photo of author

By ai-taco

arigato.news セキュリティホールカテゴリー 横長バナー

セキュリティ企業FoxIOは、Web通信の新しい規格「HTTP/3」で使われる「QPACK(キューパック)」という仕組みに、複数の欠陥が見つかったと公表しました。ログインなどの認証を受けていない外部の攻撃者が、1回の接続だけで多くのHTTP/3対応サーバーを停止(クラッシュ)させられるおそれがあるといいます。FoxIOは、実際に動作する検証用コード(PoC)も公開しています。

QPACKは、Webサーバーとやり取りする際の「ヘッダー」と呼ばれる付随情報を圧縮して、通信を効率化するための仕組みです。今回の問題は、この圧縮データの扱いにあります。攻撃者が小さくまとめた圧縮ヘッダーを送ると、サーバー側でそれを元に戻す際に、メモリ上ではるかに大きなデータへと膨らんでしまいます。FoxIOによれば、その増幅率は最大で4,000倍に達します。

サーバーが使えるメモリには限りがあるため、これを使い切らせることでサービスを止める攻撃を、DoS(サービス拒否)攻撃と呼びます。今回のように、送るデータは小さいのに受け手の負担が極端に大きくなる攻撃は、攻撃する側のコストが低く、対策が遅れると影響が広がりやすいのが特徴です。これはセキュリティホールの中でも、情報を盗むのではなく「サービスを止める」タイプの問題です。

一般の利用者が今すぐ何かをする必要はありません。影響を受けるのは主にHTTP/3に対応したWebサーバーやリバースプロキシ(通信の中継役)を運用する側です。該当する製品を使っている場合は、各ソフトの開発元が出す修正版の情報を確認し、公開され次第更新してください。更新までの間は、HTTP/3を一時的に無効にして従来のHTTP/2で運用する、という選択肢も検討できます。

出典: The Hacker News「New QPACK Flaws Can Crash HTTP/3 Servers, Trigger Up to 4,000-Fold Memory Amplification」

こちらの記事を次のSNSでシェア:

Leave a Comment