セキュリティとプライバシー

重大なLinux TCP脆弱性 CVE-2026-98432、即時のパッチ適用が必要

LinuxカーネルのIPv4 TCPハンドシェイクに存在する重大なuse-after-freeバグにより、リモートからのコード実行が可能になります。上流での修正は利用可能ですが、UbuntuやRHELなどの主要ディストリビューションはまだパッ

ネットワーク攻撃から保護する割れた盾を持つサーバーのイラスト
この記事用に生成されたイラスト

英語の原文から自動翻訳されました。

Linux安定版カーネルは2026年10月中旬、CVE-2026-98432に対する重要なセキュリティ修正を受けました。これはIPv4 TCPハンドシェイクにおけるuse-after-free脆弱性です。この欠陥により、認証されていないリモートの攻撃者が、影響を受けるサーバー上でroot権限を持つ任意のコードを実行できるようになります。上流メンテナーはこの問題を解決しましたが、2026年10月下旬時点では、多くの主要なエンタープライズ向けディストリビューションが依然として脆弱な状態にあります。

何が起きたのか

Linuxカーネルコミュニティは、CVE-2026-98432に対してCVSS 3.1スコア9.8を割り当て、「Critical(重大)」と評価しました。この脆弱性は、受信するIPv4 TCP接続を処理するコードパス、具体的にはアプリケーションレベルの認証が行われる前の初期ハンドシェイク中に存在します。このバグはAnthropicのXinyang Geによって報告され、Eric Dumazetによって修正されました。パッチはKuniyuki Iwashimaによってレビューされました。

上流の安定版カーネルは、2026年10月11日から10月15日の間に修正をリリースしました。影響を受けるバージョンには、5.10、5.15、6.1、6.6、6.12などの長期サポートブランチに加え、より新しいメインラインリリースも含まれます。この脆弱性はLinux 4.4まで遡るため、特定のpatchを受信していない限り、ほぼすべてのアクティブなLinuxサーバーが潜在的に危険にさらされています。バージョン5.10以前でサポート終了となったブランチには上流での修正がなく、完全にディストリビューション固有のバックポートに依存しています。

上流での修正が利用可能であるにもかかわらず、主要ディストリビューション間での展開状況は不均一です。2026年10月31日時点で、Ubuntuのセキュリティトラッカーはすべてのリリースを「Vulnerable(脆弱)」としてリストしており、最近のバージョン向けの修正はまだ進行中です。Red Hat Enterprise Linux (RHEL) 8、9、10も影響を受けるものとしてリストされており、修正は提供されていませんが、Red Hatは深刻度評価をCriticalに引き上げました。AlmaLinuxはテスト中のカーネルで修正済みですが、Debian、SUSE、Oracle、Amazon Linuxはすでにサポートされているバージョン向けのパッチをリリースしています。

仕組み

この脆弱性は、カーネルがTCP接続オプションのためのメモリを管理する方法における競合条件(race condition)に起因します。サーバーがTCP接続を受け入れる際、半開(half-open)ハンドシェイクを追跡するために軽量な「request socket」を作成します。接続クライアントがIPv4ヘッダーオプションを含める場合、カーネルはそれらを保存し、後続の応答でエコーします。バグは、カーネルがこれらのオプションポインターをデータのコピーなしで新しいフルソケットに渡した後、元のrequest socketメモリを直ちに解放するために発生します。

メモリが解放されている間に、別のCPUコアが応答を構築するためにそれらのオプションを読み取り続けている場合、use-after-free状態が発生します。これにより、カーネルヒープメモリの漏洩、メモリ破損、またはシステムクラッシュが起こり得ます。Anthropicの研究チームは、この競合条件を悪用してリモートコード実行を達成できることを実証しました。注目すべきは、彼らの概念実証(PoC)エクスプロイトがMultipath TCP (MPTCP) リスナーを持つサーバーを対象としていた点です。MPTCPはGoプログラムのバージョン1.24以降でデフォルトで有効になっています。しかし、根本的なバグはMPTCPに限定されたものではなく、他の構成でも脆弱性が存在する可能性があります。

修正は最小限で、標準的なメモリ解放呼び出しを kfree_rcu() に置き換える4行の変更から成ります。この関数は、すべての読み取り側がアクセスを終了した後にのみメモリが解放されるようにし、競合条件を防ぎます。このパッチは、request-socket移行パスにおける同様の問題にも対処しています。

主要な詳細

  • CVE識別子: CVE-2026-98432、LinuxカーネルCNAにより9.8 Criticalとスコアリング。
  • 脆弱性の種類: IPv4 TCPハンドシェイクオプション処理におけるuse-after-free。
  • 影響を受けるシステム: IPv4 TCP接続を受け入れるLinuxカーネル4.4以降。
  • エクスプロイト状況: Anthropicが開発した、MPTCPリスナーを持つサーバーに対する動作するリモートrootエクスプロイトが存在する。
  • ディストリビューションの状況: Debian、SUSE、Oracle、Amazon Linuxでは修正済み。2026年10月31日時点でUbuntuとRHELでは保留中。
  • 緩和策: パッチ適用までの間、オプション付きのIPv4パケットをネットワークレベルでフィルタリングすることで露出を減らすことができる。

なぜ重要なのか

インフラストラクチャエンジニアやプラットフォームチームにとって、この脆弱性は認証を必要とせず、ネットワークスタックレベルで動作するため、高リスクなシナリオを表しています。エクスプロイトはアプリケーションコードの実行前に発生するため、従来のWebアプリケーションファイアウォールやサービスレベルの認証メカニズムではこれを防ぐことができません。UbuntuやRHELなどの主要ディストリビューションがまだ修正をリリースしていないという事実は、この期間においてエンタープライズインフラの相当部分が危険にさらされていることを意味します。

MPTCPの関与はリスク評価を複雑にします。Go 1.24でMPTCPがデフォルトで有効になっているため、多くのモダンなマイクロサービスやクラウドネイティブアプリケーションが、最も容易に悪用可能な構成でホストを意図せず公開している可能性があります。Linux上でGoベースのサービスを運用しているチームは、カーネルの状態を確認し、すぐにパッチを適用できない場合はMPTCPを無効化することを検討する必要があります。ディストリビューションレベルの修正の遅延は、セキュリティ体制を維持するために、ネットワークフィルタリングなどの積極的な緩和戦略が不可欠であることを意味します。

あなたができること

  • uname -r を使用して実行中のカーネルバージョンを確認し、ディストリビューションのセキュリティアドバイザリーと比較して修正が利用可能かどうかを見てください。
  • 修正済みのカーネルがインストールされている場合は、サーバーを再起動してパッチを有効にしてください。カーネル更新は再起動するまで反映されません。
  • まだパッチを適用できないシステムについては、IPオプションを含む受信IPv4 TCPパケットを破棄するnftablesまたはiptablesルールを実装し、攻撃ベクトルをブロックしてください。
  • アプリケーションが明示的にMPTCPを必要としない場合、sysctlで net.mptcp.enabled = 0 を設定してMultipath TCPを無効にし、攻撃面を縮小してください。
  • ディストリビューションのセキュリティトラッカーを監視して更新を確認してください。特にUbuntuやRHELを実行している場合は、修正が近く提供されると予想されます。
  • ss -Mlnp を実行して、リスニングサービスがMPTCPを使用しているか確認し、MPTCPを無効化した後は、変更が反映されるようにそれらのサービスを再起動してください。
  • #linux
  • #security
  • #kernel
  • #tcp
  • #vulnerability

Bytechapストアのツール

続きを読む

すべての記事