1. トップ
  2. 新着ニュース
  3. IT
  4. IT総合

HTTP/2プロトコルの一部実装に脆弱性、DoS攻撃でシステム停止のリスク

マイナビニュース / 2024年4月8日 9時35分

画像提供:マイナビニュース

CERT Coordination Center (CERT/CC, Carnegie Mellon University)は4月3日(米国時間)、「VU#421644 - HTTP/2 CONTINUATION frames can be utilized for DoS attacks」において、HTTP/2プロトコルのCONTINUATIONフレームに脆弱性が存在するとして、注意を喚起した。この脆弱性を悪用されると、攻撃者によってサービス運用妨害(DoS: Denial of Service)攻撃を実行される危険性がある。

○HTTP/2プロトコルの脆弱性

HTTP/2プロトコルは従来のHTTP/1.1の問題点を克服するため、1つのコネクション上で複数のリクエストおよびレスポンスを可能にするストリームと呼ばれる多重化の仕組みが実装されている。各ストリームはそれぞれリクエストとレスポンスを処理することができる。

これらストリームはフレームと呼ばれる単位でデータをやりとりするが、フレームには0から9まで10種類のタイプが規定されており、今回脆弱性が存在すると指摘されたCONTINUATIONフレームは、この9番のフレームとなる。

CONTINUATIONフレームはヘッダー情報を送信するHEADERSフレーム、またはサーバプッシュストリームの予約に使用するPUSH_PROMISEフレームの1度に送信できなかったフレームを継続するために使用される。フレームには8bitのフラグが用意されており、このフラグのEND_HEADERSがセットされているか否かでフレームの終わりを識別する。

今回発見された脆弱性は、単一ストリーム内で送信できるCONTINUATIONフレーム数に上限を設けていない不具合とされる。このような実装のHTTP/2サーバに対し、攻撃者はEND_HEADERSをセットせずにCONTINUATIONフレームを繰り返し送信することでサーバリソースを無限に消費させることができる。その結果、サーバはメモリー不足に陥りシステムの停止に至る。

この脆弱性および同種の脆弱性は実装ごとに複数の脆弱性情報データベース(CVE: Common Vulnerabilities and Exposures)に登録されている。それらの一覧は次のとおり。

CVE-2024-27983 - Node.js HTTP/2 サーバ

この記事に関連するニュース

トピックスRSS

ランキング

複数ページをまたぐ記事です

記事の最終ページでミッション達成してください