Linux Kernel TLS の CVE-2024-26582 が FIX:RCE/DoS が生じる恐れ

CVE-2024-26582 (CVSS 8.4): Linux Kernel Code Execution Vulnerability

2024/02/23 SecurityOnline — Linux Kernel の Transport Layer Security (TLS) サブシステムに、深刻度の高い脆弱性 CVE-2024-26582 (CVSS:8.4) が発見された。この脆弱性は、kTLS (カーネルの TLS 実装) のメモリ処理方法における、解放済みメモリの使用のエラーに起因するものであり、悪用に成功した攻撃者は、脆弱なシステム上で任意のコードを実行する可能性を得る。

kTLS とは、Linux カーネルに不可欠なコンポーネントであり、暗号化と復号化の要として機能し、通信のペイロードを保護するものだ。kTLS は、メッセージ認証コード (MAC:Message Authentication Codes) を使用することで、すべてのメッセージが汚染されておらず、真正であることを保証する。

新たに発見された脆弱性 CVE-2024-26582 は、tls_decrypt_sg() 関数に存在する。メモリ・ページへの参照を適切に管理できないために、tls_decrypt_done() の put_page() において、ページが早期に解放されてしまう。その結果として、部分的に読み込まれたデータ構造 (skb) から、process_rx_list が読み込みを試行する可能性が生じ、解放済みメモリの使用へといたる恐れがある。

この脆弱性の悪用に成功すると、サービス拒否 (DoS:Denial-of-Service) 状態が引き起こされ、さらに、最も深刻なケースでは、リモート・コード実行の可能性も生じる。それにより、攻撃者は、影響を受けるシステムの制御が可能になる。

Linux カーネルのバージョン 6.0〜6.8-rc4 を使用している場合には、この脆弱性が存在する可能性があるため、最新の安定したバージョンへと、直ちにアップデートすることが強く推奨される。修正プログラムは、 バージョン 6.8-rc5 以降に含まれている。

完全なアップグレードが不可能な場合は、個々のパッチを commits で見つけることができる。しかし、このアプローチは理想的なものではないので、細心の注意を払って進めることが必要だ。

CVE-2024-26582 の深刻性を考慮すると、Linux システムを担当するシステム管理者とセキュリティ・チームは、以下の対策を優先すべきである:

  • 可能な限り早急にパッチを適用する。
  • 悪用の施行を示すような異常な動きがないか、システムを監視する。
  • 現在進行中のセキュリティ脅威に対処するため、今後のアップデートを継続的にチェックする。