Netflix報告: HTTP2実装に起因するリモート攻撃可能なDoSの脆弱性 (CVE-2019-9511, CVE-2019-9512, CVE-2019-9513, CVE-2019-9514, CVE-2019-9515, CVE-2019-9516, CVE-2019-9517, CVE-2019-9518)

こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。

08/13/2019にNetflixからいくつかのHTTP2実装に起因するDoSの問題に関してアドバイザリーが出されました(CVE-2019-9511, CVE-2019-9512, CVE-2019-9513, CVE-2019-9514, CVE-2019-9515, CVE-2019-9516, CVE-2019-9517, CVE-2019-9518)。今後も情報が出てくると思われますので、こちらで取り上げます。

逐次情報は更新していく予定です。

2019/08/20 04:30 更新:Red HatとNode.jsの情報を追記しました。

2019/08/21 00:30 更新:kubernetesの情報を追記しました。




Priority/CVSS

  • CVE-2019-9511
    • SuSE
    • Red Hat Customer Potal
      • CVSS v3 Base Score: 6.5(Important)
      • Vector: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
    • NVD
  • CVE-2019-9512

    • SuSE
    • Red Hat Customer Potal
      • CVSS v3 Base Score: 7.5 (Important)
      • Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
    • NVD
  • CVE-2019-9513
    • SuSE
    • Red Hat Customer Potal
      • CVSS v3 Base Score: 7.5(Important)
      • Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
    • NVD
  • CVE-2019-9514
    • SuSE
    • Red Hat Customer Potal
      • CVSS v3 Base Score: 7.5(Important)
      • Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
    • NVD
  • CVE-2019-9515
    • SuSE
    • Red Hat Customer Potal
      • CVSS v3 Base Score: 7.5(Important)
      • Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
    • NVD
  • CVE-2019-9516
    • SuSE
    • Red Hat Customer Potal
      • CVSS v3 Base Score: 6.5(Important)
      • Vector: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
    • NVD
  • CVE-2019-9517
    • SuSE
    • Red Hat Customer Potal
      • CVSS v3 Base Score: 7.5(Important)
      • Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
    • NVD
  • CVE-2019-9518
    • SuSE
    • Red Hat Customer Potal
      • CVSS v3 Base Score: 7.5(Important)
      • Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
    • NVD

修正方法

各ディストリビューションの情報を確認してください。

脆弱性概要(詳細は一次情報源のサイトをご確認ください)

Netflixが幾つかのサードパーティ製のHTTP/2実装にリソース枯渇の原因となる問題を見つけました。これらの攻撃によりHTTP/2接続をサポートしているサーバに対してDoS攻撃を仕掛けることが可能です。

これはHTTP/2実装でのセキュリティ考慮事項に関するRFC 7540 Section 2で”通常の”振る舞いはきちんと書かれているのに対して、”通常でない(abnormal)”振る舞いに関しては曖昧に記されているためです。

以下の脆弱性はNetflixのJonathan Looney氏と(CVE-2019-9518に関しては)GoogleのPiotr Sikora氏により発見されました。

  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9511
    • リモートからのDoSの可能性(Data Dribble)
    • 攻撃者は、複数のストリームで指定された特定のリソースから大量のデータを要求します。攻撃者はサーバーに対して、ウィンドウサイズとストリームの優先度を操作して、データを1バイト単位でキューに入れさせます。 このデータがどれだけ効率的にキューに入れられるかによって、CPU、メモリ、またはその両方が過剰に消費され、DoSを引き起こす可能性があります。
  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9512
    • リモートからのDoSの可能性(Ping Flood)
    • 攻撃者は継続的なpingをHTTP/2ピアに送信し、ピアに応答の内部キューを作成させます。このデータがどれだけ効率的にキューに入れられるかによって、CPU、メモリ、またはその両方が過剰に消費され、DoSを引き起こす可能性があります。
  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9513
    • リモートからのDoSの可能性(Resource Loop)
    • 攻撃者は複数のリクエストストリームを作成し、優先度ツリーにかなりの混乱を引き起こすような方法でストリームの優先度をシャッフルします。 これによりCPUが過剰に消費され、DoSを引き起こす可能性があります。
  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9514
    • リモートからのDoSの可能性(Reset Flood)
    • 攻撃者は多数のストリームを開き、ピアからRST_STREAMフレームストリームを要求する必要がある、各ストリームを介して無効な要求を送信します。 ピアがRST_STREAMフレームをキューに入れる方法に応じて、CPU、メモリ、またはその両方が過剰に消費され、DoSを引き起こす可能性があります。
  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9515
    • リモートからのDoSの可能性(Setting Flood)
    • 攻撃者は、SETTINGSフレームのストリームをピアに送信します。RFCでは、ピアがSETTINGSフレームごとに1つの確認応答で応答する必要があるため、空のSETTINGSフレームの動作はpingとほぼ同等です。このデータがどれだけ効率的にキューに入れられるかによって、CPU、メモリ、またはその両方が過剰に消費され、DoSを引き起こす可能性があります。
  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9516
    • リモートからのDoSの可能性(0-length Headers Leak)
    • 攻撃者は、長さ0のヘッダー名と長さ0のヘッダー値を持つヘッダーのストリームと、オプションで1バイト以上のヘッダーにエンコードされたHuffmanを送信します。 一部の実装では、これらのヘッダーにメモリを割り当て、セッションが終了するまで割り当てを維持します。これによりメモリが過剰に消費され、DoSが発生する可能性があります。
  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9517
    • リモートからのDoSの可能性(Internal Data Buffering)
    • 攻撃者はHTTP/2ウィンドウを開き、ピアが制約なしで送信できるようにします。 ただし、TCPウィンドウは閉じたままなので、ピアは実際に(多くの)バイトを書き込むことができません。その後、攻撃者は大きな応答オブジェクトに対するリクエストのストリームを送信します。サーバーが応答をキューに入れる方法によっては、CPU、メモリ、またはその両方が過剰に消費され、DoSを引き起こす可能性があります。
  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9518
    • リモートからのDoSの可能性(Empty Frames Flood)
    • 攻撃者は、空のペイロードとストリームの終了フラグなしで、フレームのストリームを送信します。 これらのフレームは、DATA、HEADERS、CONTINUATION、PUSH_PROMISEのいずれかまたは両方です。 ピアは各フレームの処理に時間を費やします。これにより、CPU、メモリ、またはその両方が過剰に消費され、DoSを引き起こす可能性があります。

主なディストリビューションの対応状況

詳細は、各ディストリビューションの提供元にご確認ください



対処方法

各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。

また、OSの再起動が発生しますので、peacemakerなどOSSのクラスタ製品やLifeKeeperなどの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます。


セキュリティ系連載案内


セミナー情報1

コンピュータセキュリティシンポジウム2019(長崎)が2019年10月21日(月) ~ 10月24日(木)で開催されます。

こちらですが、OSSセキュリティ技術の会も後援になっており、オープンソースソフトウェア(OSS)セキュリティ技術トラック(略称:OWSトラック) も用意しております。

セミナー情報2

“distro info”: vol.1 と題しまして、各種ディストリビューションの情報を関係者から直接お届けするイベント「distro info」が開催されます。

今回は、先日リリースされたDebian10について、Debianの概要から含めての説明〜Debian10での特徴の紹介をします。ざっくり概要を把握されたい方から、発表者に確認の質問をしてみたい方までどうぞご参加下さい。

また、先月末にブラジルでDebian Conferenceが行われましたのでその紹介を行います。「Debianのカンファレンスってこんなのなんだな」というのを現地エピソードなど交えてお話します。


タイトルとURLをコピーしました