こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
06/17/2019にNetflixからFreeBSDとLinux Kernelに対して、幾つかのTCPの脆弱性に関するアドバイザリーが出されました(CVE-2019-11477, CVE-2019-11478, CVE-2019-11479, CVE-2019-5599)。アドバイザリーは最小セグメントサイズ(MSS)とTCP SACKに関するものになります。最も深刻な「SACK Panic」と呼ばれるものは、最近のLinux KernelにリモートからKernel Panicを引き起こすことができます。Netflixの方でPatchも提供されています。今の所PoCや攻撃コードは出回っていません。今後も情報が出てくると思われますので、こちらで取り上げます。
逐次情報は更新していく予定です。
2019/06/18 14:00更新:タイトルのミススペルの修正、AWSの情報の追加、Red Hatの日本語の情報を追加しました。
2019/06/18 18:30更新:SUSE、Ubuntu、Oracleの情報を追加しました。
2019/06/19 0:30更新:Debian, Arch Linux, Linux Kernel(Linux Kernel CVEs)の情報を追加しました。HW情報にCheckpointを追加しました。関連ニュースにZDNet(英語)を追加しました。
2019/06/19 05:30更新:Sophosの情報を追加しました。関連ニュースにHackerNews, Tenableを追加しました。
2019/06/19 19:30更新:F5(BIG-IP)の情報を追加しました。
2019/06/20 07:30更新:Ciscoの情報を追加しました。
2019/06/21 05:00更新:関連ニュースにSecurityIntelligence, NakedSecurity, infosecurity MAGAZINEの情報を追加しました。
2019/06/22 08:00更新:関連ニュースにJVN(Japan Vulnerability Notes)の情報を追加しました。
2019/06/24 16:30更新:Paloalto Networksの情報を追加しました。
2019/06/24 17:00更新:関連ニュースにCERTの情報、マイナビニュースを追加しました。
[過去の記事(最新5件)]
新たな攻撃手法(SMoTherSpectre) による情報の漏洩
新たなハードウェアに依存しないサイドチャネル攻撃(Page Cache Attacks)
Priority/CVSS
- CVE-2019-11477
Important
- SuSE
- Red Hat Customer Potal
- CVSS v3 Base Score: 7.5
- Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- NVD
- CVE-2019-5599
- SuSE
- Red Hat Customer Potal
- NVD
- CVE-2019-11478
Moderate
- SuSE
- Red Hat Customer Potal
- CVSS v3 Base Score: 5.3
- Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- NVD
- CVE-2019-11479
Moderate
- SuSE
- Red Hat Customer Potal
- CVSS v3 Base Score: 5.3
- Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
- NVD
関連ニュース/関連情報
- Linux Kernel CVEs(Updated)
- SACK Panic – CVE-2019-11477 – Multiple TCP-based remote denial of service issues (reddit)
- Netflix to Linux users: Patch SACK Panic kernel bug now to stop remote attacks (ZDNet.com)
- SACK Panic – Multiple TCP-based remote denial-of-service issues (redhat.com) (Hacker News)
- SACK Panic: Linux and FreeBSD Kernels Vulnerable to Remote Denial of Service Vulnerabilities (CVE-2019-11477) (Tenable)
- TCP SACK Panic Flaw Could Compromise Production Linux Machines (SecurityIntelligence)
- Netflix researcher spots TCP SACK flaws in Linux and FreeBSD (nakedsecurity by Sophos)
- SACK Panic Vulnerability in Linux(infosecurity MAGAZINE)
- JVNVU#93800789 Linux および FreeBSD カーネルにおけるサービス運用妨害 (DoS) の脆弱性
- Multiple TCP Selective Acknowledgement (SACK) and Maximum Segment Size (MSS) networking vulnerabilities may cause denial-of-service conditions in Linux and FreeBSD kernels
- LinuxとFreeBSDカーネルに脆弱性、パッチ適用を (マイナビニュース)
HW情報(コミュニティ情報含む)
SW提供情報
- Red Hat
TCP SACK PANIC – Kernel vulnerabilities – CVE-2019-11477, CVE-2019-11478 & CVE-2019-11479
TCP SACK パニック – カーネルの脆弱性 – CVE-2019-11477、CVE-2019-11478、および CVE-2019-11479
- AWS
- SUSE
- Ubuntu
SACK Panic and Other TCP Denial of Service Issues CVE-2019-11477, CVE-2019-11478, CVE-2019-11479
- Oracle Linux
ELSA-2019-4684 – Unbreakable Enterprise kernel security update
- Debian
- Arch Linux
修正方法
各ディストリビューションの情報を確認してください。
脆弱性概要(詳細は一次情報源のサイトをご確認ください)
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11477
- リモートからのDoSの可能性(SACK Panic)
- 重要度 – High/Important
- 対象バージョン:(Linux >= 2.6.29)
- 2.6.29以降のLinux Kernelに問題が見つかりました。細工されたSACKシーケンスにより整数オーバーフローを引き起こし、Kernel Panicを引き起こすことが可能です。
- Netflixの提供するフィルターによって、低いMSSの接続をブロックすることで回避できます。低いMSSに依存した正規の接続もブロックされてしまうため気をつけて下さい。
- SACKを無効にします(/proc/sys/net/ipv4/tcp_sackを0にします)。
- 以下の何れかの回避方法で暫定対応が出来ます(どちらか一つの適用です)。
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11478
- SACK Slowness(遅延)またはリソース使用率の増大
- 重要度 – Moderate/Medium
- 対象バージョン:(SACK Slowness: Linux < 4.15 , リソース使用率の増大: 全てのLinux Kernel)
- 攻撃者は細工されたSACKシーケンスを送ることによりTCP retransmission(再送)キューにフラグメントを引き起こすことが可能です。4.15より前のLinux Kernelでは、攻撃者はフラグメント化されたキューを用いて、その同じTCP接続で受信された後続のSACKに対して、高価なリンクリストウォークを引き起こす事が出来る可能性が有ります。
- Netflixの方でPATCH_net_2_4.patchを提供しています。
- Netflixの提供するフィルターによって、低いMSSの接続をブロックすることで回避できます。低いMSSに依存した正規の接続もブロックされてしまうため気をつけて下さい。また、TCP probing(net.ipv4.tcp_mtu_probing)が0に設定されている際に有効な回避方法です(デフォルトでは0に設定されています)。
- SACKを無効にします(/proc/sys/net/ipv4/tcp_sackを0にします)。
- 以下の何れかの回避方法で暫定対応が出来ます(どちらか一つの適用です)。
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11479
- 低いMSS値によるリソース使用率の増大
- 重要度 – Moderate/Medium
- 対象バージョン:全てのLinux Kernel
- 攻撃者はLinux Kernelに対して、その応答を複数のTCPセグメント(各セグメントは8バイトのデータしか入ってない)にさせることが出来ます。これにより、同じデータ量を届けるための帯域を劇的に増加させることが出来ます。更に、その他のリソース(CPUやNICプロセッサー)も消費させることが出来ます。この攻撃には攻撃者が連続して攻撃を行う必要が有り、攻撃者がトラフィックを送るのを止めるとすぐに影響は減少します。
- NetflixがPATCH_net_3_4.patchとPATCH_net_4_4.patchを提供しています。
- Netflixの提供するフィルターによって、低いMSSの接続をブロックすることで回避できます。低いMSSに依存した正規の接続もブロックされてしまうため気をつけて下さい。また、TCP probing(net.ipv4.tcp_mtu_probing)が0に設定されている際に有効な回避方法です(デフォルトでは0に設定されています)。
- 以下の何れかの回避方法で暫定対応が出来ます(どちらか一つの適用です)。
- http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5599
- SACK Slowness(遅延)
- 対象バージョン:RACK TCP Stackを使っているFreeBSD 12
- 攻撃者は細工されたSACKシーケンスを送ることによりRACK send mapにフラグメントを引き起こすことが可能です。攻撃者はフラグメント化されたsend mapを用いて、その同じTCP接続で受信された後続のSACKに対して、高価なリンクリストウォークを引き起こす事が出来る可能性が有ります。
- Netflixが提供するsplit_limit.patchを適用し、net.inet.tcp.rack.split_limitをSACKテーブルを制限するのに適切な値にセットします。
- RACK TCP Stackを無効にします。
- 以下の何れかの回避方法で暫定対応が出来ます(どちらか一つの適用です)。
主なディストリビューション/Linux Kernelの対応状況
詳細は、各ディストリビューションの提供元にご確認ください
- Debian
https://security-tracker.debian.org/tracker/CVE-2019-11478
- Red Hat Enterprise Linux/CentOS
https://access.redhat.com/security/cve/CVE-2019-11477
- Ubuntu
https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-11477.html
https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-11478.html
https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-11479.html
- SUSE/openSUSE
https://www.suse.com/security/cve/CVE-2019-11477.html
- Oracle Linux
https://linux.oracle.com/cve/CVE-2019-11477.html
- Arch Linux
https://security.archlinux.org/CVE-2019-11477
- Linux Kernel(Linux Kernel CVEsより)
https://www.linuxkernelcves.com/cves/CVE-2019-11477
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。
また、OSの再起動が発生しますので、peacemakerなどOSSのクラスタ製品やLifeKeeperなどの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます。
セキュリティ系連載案内
- OSSセキュリティ技術の会による日経Linuxでの連載「IoT時代の最新SELinux入門」がITPro上で読めるようになりました。技術の会代表で第一人者である中村さん等による、最新のSELinuxの情報やコマンド類等も更新されているのでお薦めです。
- OSSセキュリティ技術の会によるThinkITでの連載「開発者のためのセキュリティ実践講座」がThinkIT上で開始しました。技術の会の中の人間で、最新の代表的なOSSセキュリティ技術を紹介していきます。
- OSSセキュリティ技術の会により、ThinkITでLinuxSecuritySummit 2018のレポートが紹介されています。
- OSSセキュリティ技術の会の面により、@ITで「OSS脆弱性ウォッチ」が連載されています。
- OSSセキュリティ技術の会の面により、@ITで「OpenSCAPで脆弱性対策はどう変わる?」が連載されています。
- OSSセキュリティ技術の会のメンバーにより、@ITで「Berkeley Packet Filter(BPF)入門」が連載されています。
セミナー情報1
2019/07/31 10:00-17:00で開催される、一般社団法人 日本情報システム・ユーザ協会(JUAS)様による有料ハンズオンセミナー「ハンズオンで学ぶ!クラウド時代の運用管理とセキュリティ対策 」にて当ブログの筆者「面 和毅」が講師を努めます。
本セミナーでは、大手ベンダーや外資系企業、ユーザー企業などでセキュリティの専門家として20年以上の経験を持ち、現在、セキュリティエバンジェリストとして活躍する講師が実体験を交えながら、クラウド上のサーバーを安価に守る方法を、演習をまじえ、具体的にお伝えします。
https://juasseminar.jp/seminars/view/4119290にて申し込みを行っております。奮ってご参加ください。
セミナー情報2
2019/07/23 18:30-20:30で、「再演「やってはイケナイ」をやってみよう」セミナーを行います。
このセミナーは前回の「「やってはイケナイ」をやってみよう」セミナーの再演で、実際に色々な「やってはイケナイ」をデモを交えて行い、実際にどのような問題が発生するのかを確認し、その様な万が一の場合を防ぐために行っておくべき対策を紹介していきます。
https://sios.connpass.com/event/134622/がプログラム内容と申し込みの詳細になります。奮ってご参加下さい。