Ubuntu、Linuxカーネルの重大なリモートコード実行脆弱性に対するセキュリティ修正を公開

Canonicalは、リモートコード実行につながるおそれのあるLinuxカーネルのIPv4 TCPの重大な脆弱性「CVE-2026-98432」の修正を、Ubuntuの-proposedリポジトリのポケットで公開しました。

この問題はLinux 4.4以降に影響します。CVSS 3.1のスコアは9.8で、深刻度は「Critical(緊急)」に分類されています。Ubuntuは修正の優先度を「High(高)」と位置付けています。

Ubuntu 22.04 LTS以降のパッケージは、アーカイブのupdatesポケットで広く配布される前に、品質検証テストを受けている段階です。

欠陥の原因はtcp_v4_syn_recv_sock()にあります。この関数は、IPv4オプションをireq->ireq_optから子ソケットへ、コピーせずに移し替えます。このとき別のプロセッサが再送されたSYNを同時に処理し、同じオプションを使ってSYNACKを組み立てる可能性があります。

子ソケットが先に破棄されると、inet_sock_destruct()が解放したメモリにip_options_build()がなおアクセスし、use-after-free(解放後メモリ使用)が発生します。既存の読み取り側はrcu_read_lock()を保持していますが、即時の解放では、処理が終わるまでそのアクセスを保護できません。

関連する競合状態は、net.ipv4.tcp_migrate_req=1またはBPF_SK_REUSEPORT_SELECT_OR_MIGRATEで有効になるリクエストソケットの移行にも影響します。複製されたリクエストソケットはオプション用メモリを共有したままになるため、一方のソケットを破棄すると、別のプロセッサのアクセスが無効になる場合があります。

修正では、影響を受ける2つのデストラクタで通常のkfree()呼び出しをkfree_rcu()に置き換えます。これにより、RCUのグレースピリオドが終了するまでメモリの回収が遅れます。

別のTCP参照カウンタの競合状態が初期化の順序に関わる問題だったのに対し、今回の問題は共有されるIPv4オプションの寿命管理に関わるものです。

Anthropicは、Multipath TCP(MPTCP)のリスナーを公開しているサーバーに対するゼロクリックのリモートroot実行を実証しました。このエクスプロイトはまず、カーネルメモリをリークさせてカーネルアドレス空間配置のランダム化(KASLR)を回避します。続いてコールバックポインタを破壊し、攻撃者が選んだシェルコマンドを実行します。

テストでは、情報の取得に約48分、コマンドの実行にさらに5分を要しました。失敗した試行でもシステムはクラッシュしないため、何度でも再試行できます。ただし、根本的な欠陥はMPTCPに固有のものではありません。

提供されたUbuntuのアナウンスによると、proposedの修正版はJammyが5.15.0-203.213、Nobleが6.8.0-149.149、Resoluteが7.0.0-43.43です。

アナウンスはStonkingについて、7.3.0-10.10で修正されたと説明しています。しかし、取得したUbuntuのトラッカーでは、このパッケージの作業は依然として進行中と表示されています。管理者は、一般提供されていると決めつけず、パッケージごとの状況を確認する必要があります。

Xenial、Bionic、Focalの標準のlinuxパッケージは、修正がまだ提供されていません。一方、Trustyの標準パッケージは影響を受けません。管理者は、uname -rで実行中のカーネルを確認できます。インストール済みのイメージは、dpkg -l 'linux-image*' | grep ^iiで一覧できます。

Canonicalは、-proposedを、自前でカーネルの受け入れテストを行う組織向けの早期入手手段と位置付けています。パッケージは、リリースごとのproposedターゲットを明示して選択する必要があります。リポジトリを有効にするだけでは、修正はインストールされません。

アナウンスによると、修正済みカーネルを有効にするには、インストール後に再起動が必要です。影響を受けるIPv4 TCPのコードは、より広範な接続処理を担っています。そのため、MPTCPを無効にしても、完全な対策とみなすべきではありません。

Ubuntuのトラッカーによると、IPオプションを含むIPv4 TCPパケットをフィルタリングすることはリスク低減策になります。ただし、悪用を完全には防げないと明確に警告しています。確実な対策は、パッチ適用済みのカーネルです。Canonicalは、リリースに先立って認証とリグレッションテストを完了させる予定です。

16,000以上のSOCチームが、脅威調査の効率化と手作業の削減のためにANY.RUNを利用しています。チームで試してみる

翻訳元: https://cyberpress.org/ubuntu-critical-linux-kernel-remote-code-execution/

本記事は cyberpress.org の記事を翻訳・要約したものです。