UbuntuのLinuxカーネルで新たに公表された脆弱性により、システムが権限昇格やroot権限による完全な侵害を受ける可能性が明らかになった。
この脆弱性は、TyphoonPWN 2025のセキュリティイベントで明らかになったもので、カーネルバージョン6.8.0-60-genericを実行するUbuntu 24.04.2に影響し、Linuxディストリビューション全体でカーネルパッチ管理に伴うリスクが依然として存在することを示している。
小さなパッチの隙間が大きなセキュリティリスクに
権限昇格の脆弱性は、エンタープライズ環境における重大な脅威だ。
ローカルの攻撃者や侵害されたプロセスがroot権限を取得すると、ホストを完全に掌握し、コンテナ、ワークロード、ユーザー間の隔離を迂回できる。
Ubuntuの脆弱性は、カーネルパッチの小さな不整合がシステム全体の露出につながり得ることを示している。特に、カーネルの更新が上流の修正に追いついていない環境では、その危険性が高い。
Ubuntuのカーネルはバージョン6.8.12をベースとしていたが、上流のLinuxメンテナーによるパッチは一部しか含まれていなかった。
このディストリビューションはaf_unix.cファイルに変更を加えたものの、対応するgarbage.cへの更新を適用しなかったため、サブシステムの参照カウントが不安定になる不整合が生じた。
この不整合により、カーネルはメモリ構造を早期に解放するようになった。具体的には、ソケットバッファを管理する256バイトのsk_buffオブジェクトが対象となり、use-after-free(UAF)状態が発生した。
攻撃の仕組み
Ubuntuの実装では、上流の修正が欠落しているため、oob_skbポインターは割り当て時に参照を1つ失う一方、ガーベジコレクション時とソケット解放時の2回、参照を減らされる。
その結果、解放済みメモリが再びアクセスされ、研究者はこれを悪用してカーネルレベルの制御を獲得した。
TyphoonPWNで実演された概念実証エクスプロイトは、ガーベジコレクションとソケット解放の間のタイミングを操作し、「解放」と「使用」の段階を確実に分離する。
攻撃者は、アクティブなUNIXドメインソケットの数を1万6000個以上に増やしてカーネルにクリーンアップ処理をスケジュールさせ、ソケットを閉じた後にガーベジコレクションを発生させる。
この競合状態を安定させるため、エクスプロイトはFUSEベースの一時停止機構を使ってカーネルスレッドをブロックし、制御下でメモリを再利用できる時間枠を広げる。
次に攻撃者は、パケットソケットを使って解放されたスラブを細工したpg_vec構造体でスプレーする。
再利用されたバッファが実行されると、乗っ取られたデストラクター関数が呼び出され、攻撃者は命令ポインターを制御できるようになる。
エクスプロイトのさらに後続の段階では、EntryBleedサイドチャネル攻撃の亜種を使ってカーネルアドレス空間配置のランダム化(KASLR)を回避し、Return-Oriented Programming(ROP)チェーンによってmodprobe_path変数を上書きする。これにより、root権限を付与するカスタムスクリプトを実行する。
2025年初頭、Ubuntuはセキュリティ通知(USN-7289-1)を公開し、GPU、Netlink、ネットワークドライバーなどのカーネルコンポーネントに存在する追加の脆弱性について説明した。
これらのいくつかはローカルでの権限昇格やサービス拒否(DoS)を可能にするもので、カーネルの多様なサブシステムが小さなロジックエラーの影響を受け続けていることを示している。
カーネルレベルの脅威によるリスクを低減する
カーネルレベルの脆弱性による露出を抑えるため、組織は次の対策を講じることができる。
- Canonicalのカーネルパッチを直ちに適用するとともに、再起動後に確認を行い、更新されたバージョンがすべてのシステムとコンテナイメージで有効になっていることを確かめる。
- カーネルとモジュールのセキュリティを強化するため、Secure Bootを有効にし、カーネルロックダウンモードを使用するとともに、書き込みや読み込みの権限を信頼できる管理者だけに制限する。
- 攻撃対象領域を制限するため、使用していないカーネルモジュールを無効化し、リスクの高いワークロードを隔離し、プロセスを封じ込めるAppArmorまたはSELinuxのポリシーを適用する。
- 継続的な監視を実施するため、カーネル監査、EDRソリューション、異常なソケット活動や権限昇格の試み、モジュールの読み込みに関するログアラートを活用する。
- 規律あるパッチおよびテストのサイクルを確立することで、段階的なカーネル展開、ロールバック計画、Linux環境全体でのパッチ展開時間を短縮するポリシーを実現する。
- システムの整合性を検証し、可視性を維持するため、ファイル整合性監視ツールとセキュリティベースラインを使用する。
こうした対策を実施することで、Ubuntuカーネルの脆弱性に対処しながら、サイバーレジリエンス全体を強化できる。
このようなカーネルの脆弱性は、オープンソースインフラを安全に保つことが依然として難しい課題であることを浮き彫りにする。自動化によってエクスプロイト開発が高速化し、AIが普及する中でも、一貫した更新と多層的な防御は不可欠だ。

