公開日:2019/06/21 最終更新日:2019/06/21

JVNVU#93800789
Linux および FreeBSD カーネルにおけるサービス運用妨害 (DoS) の脆弱性

概要

Linux および FreeBSD カーネルには、TCP Selective Acknowledgement (SACK) および Maximum Segment Size (MSS) の処理に関する複数の脆弱性が存在します。

影響を受けるシステム

CVE-2019-11477

  • Linux 2.6.29 およびそれ以降
CVE-2019-11478
  • 全てのバージョンの Linux カーネル
CVE-2019-5599
  • FreeBSD 12 で RACK TCP スタックを有効にしている場合
CVE-2019-11479
  • 全てのバージョンの Linux カーネル

詳細情報

SACK パニック - CVE-2019-11477
細工された SACK パケット列によって、整数オーバーフローが引き起こされてサービス運用妨害 (DoS) 状態もしくはカーネルパニックが発生する可能性があります。

SACK Slowness あるいはリソースの過剰な消費 - CVE-2019-11478
細工された SACK パケット列を処理することで TCP キューにフラグメントが発生し、結果としてサービス運用妨害 (DoS) 状態が発生する可能性があります。

SACK Slowness - CVE-2019-5599
TCP 損失検出アルゴリズム Recent ACKnowledgment (RACK) では、パケット数やシーケンス番号に加えて時間情報も使用してパケット損失を検出します。FreeBSD では、この RACK アルゴリズムを使った SACK 機能が実装されていますが、初期状態では無効になっています。
また、FreeBSD の RACK 実装では、複数の一方向リストを使用してパケット損失の状況を追跡しています。
細工された SACK パケット列を処理することで一方向リストが伸びていき、CPU やネットワークのリソースが過剰に消費され、結果としてサービス運用妨害 (DoS) 状態が発生する可能性があります。

MSS の値が小さいことに起因するリソースの過剰な消費 - CVE-2019-11479
Linux カーネルの初期状態では、maximum segment size (MSS) が 48 バイトにハードコードされており、パケットの分割が大量に発生する原因になります。本脆弱性は CPU およびネットワークインターフェース双方でリソースの過剰な消費を引き起こす可能性があり、結果としてサービス運用妨害 (DoS) 状態となる可能性があります。

想定される影響

遠隔の第三者により、カーネルクラッシュを引き起こされたり、リソースの過剰な消費により動作が遅くなったりサービス運用妨害 (DoS) 状態が発生する可能性があります。

対策方法

パッチを適用する
開発者が提供する情報をもとに、パッチを適用してください。

ベンダ情報

参考情報

  1. CERT/CC Vulnerability Note VU#905115
    Multiple TCP Selective Acknowledgement (SACK) and Maximum Segment Size (MSS) networking vulnerabilities may cause denial-of-service conditions in Linux and FreeBSD kernels
  2. Netflix/security-bulletins · GitHub
    NFLX-2019-001
  3. Red Hat Customer Portal
    TCP SACK PANIC - Kernel vulnerabilities - CVE-2019-11477, CVE-2019-11478 & CVE-2019-11479

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

謝辞

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2019-11477
CVE-2019-11478
CVE-2019-5599
CVE-2019-11479
JVN iPedia