Linux カーネルにリモートから攻撃できてしまう脆弱性の報告
2019年6月17日にFreeBSDとLinuxカーネルに対する脆弱性が報告されました。
Sad SACK: Linux PCs, servers, gadgets can be crashed by ‘Ping of Death’ network packetsvia:Sad SACK: Linux PCs, servers, gadgets can be crashed by ‘Ping of Death’ network packets • The Register
今回報告された脆弱性は以下の4つです。
- CVE-2019-11477
- 2.6.29以上のLinuxカーネルが対象
- SACK Panic によるLinuxカーネルクラッシュを引き起こす
- CVE-2019-11478
- 4.14.127以上のLinuxカーネルが対象
- TCP SACKの過剰なリソース使用を引き起こす
- CVE-2019-11479
- FreeBSDが対象
- TCP SACKの低速化を引き起こす
- CVE-2019-5599
- 全バージョンのLinuxカーネルが対象
- 低いMSS値による過剰なリソース消費を引き起こす
最も深刻な脆弱性は「SACK Panic」と呼ばれるもの(CVE – CVE-2019-11477)で、リモートからLinux カーネルをクラッシュできてしまう脆弱性です。
パッチ及びワークアラウンドが既に提供されています
詳細な説明およびパッチ/ワークアラウンドについては、以下のサイトを参照のこと。
security-bulletins/2019-001.md at master · Netflix/security-bulletins · GitHub
対処方法
パッチを適用する以外の対処方法としては、次の2つの方法があります。
SACKを無効にする
SACKを一時的に無効にする場合は、以下のコマンドを実行します。
setenforce 0
echo 0 > /proc/sys/net/ipv4/tcp_sack
1行目はSELinuxの場合のみ必要です。
永続的にSACKを無効にするには、/etc/sysctl.confに次の行を追加します。
net.ipv4.tcp_sack = 0
net.ipv4.tcp_dsack = 0
net.ipv4.tcp_fack = 0
ファイアウォールのルールに追加する
iptablesでサイズの小さいMSSパケットをブロックすることで対処することもできます。
iptables -t mangle -A PREROUTING -p tcp -m conntrack --ctstate NEW -m tcpmss ! --mss 536:65535 -j DROP