Ubuntu Linux Kernel の深刻な脆弱性 CVE-N/A が FIX:権限昇格と root アクセスの可能性

Ubuntu’s Kernel Vulnerability Let Attackers Escalate Privileges and Gain Root Access

2025/10/28 CyberSecurityNews — Ubuntu の Linux カーネルに深刻な脆弱性が発見された。この脆弱性を悪用するローカル攻撃者は、影響を受けるシステム上で権限を昇格させ、root アクセスを取得する可能性がある。TyphoonPWN 2025 で公開された、この脆弱性 (CVE-N/A) は af_unix サブシステムにおける参照カウントの不均衡に起因し、解放済みメモリ使用 (UAF) 状態を引き起こす可能性がある。研究者らは、完全な PoC エクスプロイトを開発し、この問題を実証している。

この脆弱性が影響を及ぼす範囲は、カーネル・バージョン 6.8.0-60-generic を実行している Ubuntu 24.04.2 であり、主要ディストリビューションにおけるカーネル・パッチ管理の課題を浮き彫りにしている。

根本的な原因は、af_unix ドメインソケットの参照カウント・バグ修正を目的とした、アップストリーム Linux カーネル・パッチを、Ubuntu が部分実装した点にある。af_unix ドメイン・ソケットは、プロセス間のファイル・ディスクリプタ送信を可能にし、プロセス間通信を容易にするものである。

従来から、このサブシステムは循環参照を処理するため、ガベージ・コレクション機構を採用していた。しかし最近のアップストリーム変更により、帯域外 (OOB) ソケット・バッファ (skb) 参照の管理方法を調整しながら、新しいアルゴリズムに置き換えられていた。

具体的には、パッチにより “af_unix.c” 内の queue_oob 関数の skb_get() 呼び出しが削除され、さらに、MSG_OOB フラグ経由で送信される OOB データへのポインタである u->oob_skb への不要な参照カウントを防止され、ガベージ・コレクションでのデクリメントも回避されるようになった。

Ubuntu のカーネル権限昇格

その一方で Ubuntu のカーネルは、以前の 6.8.12 ベースで従来のガベージ・コレクション機能を維持していたが、誤って af_unix.c の変更だけを適用し、”garbage.c” の更新を省略していた。

この不一致により、u->oob_skb は割り当て時に、参照を1つ失う一方で2回のデクリメントが発生する。1つは unix_gc の kfree_skb、もう1つはソケット・クローズ中の unix_release_sock によるデクリメントである。結果として、 skbuff_head_cache スラブの 256 バイト struct sk_buff オブジェクトで、UAF がトリガーされてしまう。

SSD Disclosure によると、どちらの関数もオブジェクトを解放し得るが、実エクスプロイトでは unix_gc で解放された後に、unix_release_sock で使用されることが常に確認されている。

この不一致を悪用する攻撃者は、信頼性の高い UAF のための解放フェーズと使用フェーズを分離する必要がある。それは、ソケット・クローズ直後にガベージ・コレクションをトリガーすることで実現する。具体的には、後続の sendmsg 呼び出し中に unix_tot_inflight カウントを 16,000 超に引き上げ、wait_for_unix_gc を呼び出す。

さらに、システムコール後の TWA_RESUME 作業項目として、unix_release_sock が実行されるまでのタイミングギャップを埋める必要がある。このエクスプロイトは、skb_copy_datagram_from_iter 内の FUSE ファイル・システムの mmap バッファを用いて実行を停止し、カスタム FUSE_read ハンドラ経由でカーネル・スレッドを数秒間スリープさせる。

その後に、クロスキャッシュ攻撃により専用スラブを解放し、ループバック・インターフェイス上のパケットソケット経由でスプレーした、制御済み pg_vec 構造体でページを回収する。

解放済み skb を上書きすると、skb_release_head_state 内のデストラクタ呼び出しを制御できるようになり、RIP および RDI ハイジャックが可能になる。

KASLR バイパスは、Entrybleed のプリフェッチ・サイドチャネル・バリアントを採用し、KPTI なしのシステムであっても、統計的タイミング解析により 100% の成功率を実現する。

最後に、ROP チェーンが modprobe_path を “/tmp/x” に上書きする。それは、usermodehelper 呼び出しを介して root 権限を付与するシェル・スクリプトである。

この PoC は、提供ユーティリティと FUSE コンポーネントを用いる、C 言語で書かれた高度なエクスプロイトとして機能し、KASLR リーク/スプレー/ペイロード実行などにより完全な権限昇格を実証する。

TyphoonPWN 2025 において、この脆弱性の発見者による綿密なカーネル内部分析が評価され、Linux 部門で1位となった。

緩和策

すでに Canonical は、2025年9月18日の時点で更新カーネルをリリースしている。このカーネルには、変更された2つのファイル間で参照カウントをバランスさせる、すべてのアップストリーム修正が組み込まれている。

影響を受けるバージョンのユーザーにとって必要なことは、apt upgrade linux-generic を用いてカーネル 6.8.0-61 以降を検証し、直ちにアップデートすることである。

この件が明らかにするのは、ディストリビューション・カーネルにおける選択的バックポートのリスクである。管理者が実施すべきは、セキュリティ・アドバイザリの注意深い監視となる。

広範な悪用は報告されていないが、公開 PoC の存在により、企業環境でのパッチ適用の緊急性が高まっている。