Linux カーネルの脆弱性 Fragnesia(CVE-2026-46300)でroot権限奪取が可能

セキュリティニュース

投稿日時: 更新日時:

Linux カーネルの脆弱性 Fragnesia(CVE-2026-46300)でroot権限奪取が可能

2026年5月13〜14日、V12セキュリティチームの研究者William Bowling氏が、Linuxカーネルに存在する新たなローカル権限昇格(LPE)脆弱性「Fragnesia」を公開しました。正式なトラッキング番号はCVE-2026-46300(CVSS 7.8・High)です。

この記事のサマリー

  • CVE-2026-46300(Fragnesia):LinuxカーネルのXFRM ESP-in-TCPサブシステムに存在するローカル権限昇格脆弱性(CVSS 7.8)。
  • 発見者:William Bowling氏(V12セキュリティチーム / Zellic)。2026年5月13日に公式開示
  • 影響:非特権ローカルユーザーがレースコンディションなしでページキャッシュを決定論的に破壊し、root権限を取得可能。/usr/bin/suに限らず、そのユーザーが読み取り可能なあらゆるファイル(/etc/passwd等)を標的にできる。
  • 根本原因skb_try_coalesce()SKBFL_SHARED_FRAGフラグをフラグメント転送時に引き継がないCのロジックバグ。XFRM ESP-in-TCPがファイルバック済みページキャッシュページ上でAES-GCM復号をin-placeで実行してしまう。
  • Dirty Fragとの関係:同じXFRM/ESPクラスの「別バグ」。Dirty Fragのカーネルパッチだけでは修正されない。ただしDirty Fragの緩和策(esp4・esp6・rxrpcのモジュールブラックリスト)はFRAGNESIAにも有効
  • PoCは公開済み:V12セキュリティチームのGitHubに掲載。
  • パッチ状況:AlmaLinux 8/9/10は2026年5月16日に本番リポジトリへリリース済み。Red Hat・Ubuntu・Debian等も順次提供中。
  • 3週間内の3件目のLinuxカーネルLPE(Copy Fail:4月29日、Dirty Frag:5月7日、Fragnesia:5月13日)。

概要

FRAGNESIAの名称は、ソケットバッファ(skb)がコアレッシング(統合)処理の際にフラグメントが共有されていることを「忘れる(forgets)」という挙動に由来しています。この脆弱性を悪用することで、非特権のローカルユーザーが/usr/bin/suなどの読み取り専用の重要なバイナリのページキャッシュに任意のバイトを書き込み、ルート権限を取得できます

PoCはV12セキュリティチームのGitHubリポジトリで既に公開されており、AlmaLinux・Red Hat・Ubuntu・Debian等の主要ディストリビューションがパッチの配布を開始しています。サイバー攻撃への悪用は2026年5月18日時点で確認されていません。

影響を受けるシステム

全ての主要Linuxディストリビューションが影響を受けます。 Fragnesiaは2026年5月13日より前にリリースされたカーネルを実行しているシステムに影響します。

AlmaLinux・Amazon Linux・Debian・Red Hat Enterprise Linux・SUSE・Ubuntu等のディストリビューションが確認されています。特にマルチテナントサーバー・コンテナビルドファーム・CI/CDランナー・信頼されていないユーザーがシェルアクセスを持つシステムでは、局所的なユーザーアクセスが即座に完全なシステム侵害につながるため危険度が高いと位置づけられています。

NSFOCUSは「マルチテナントサーバー・踏み台サーバー・コンテナクラウド環境において、コンテナ内の通常ユーザーやプロセスがローカル権限昇格またはコンテナエスケープを達成するために悪用できる」と警告しています。

パッチ適用状況(2026年5月18日時点)

ディストリビューション 状況
AlmaLinux 8/9/10 2026年5月16日に本番リポジトリへリリース済みsudo dnf clean metadata && sudo dnf upgrade && sudo rebootで適用可能
Red Hat Enterprise Linux セキュリティアドバイザリを評価中(access.redhat.com/security/cve/CVE-2026-46300
Ubuntu / Debian / SUSE パッチの配布を開始(各ディストリビューションのアドバイザリを確認)
CloudLinux ビルド時刻2026-05-14以降のバージョンが修正済み

技術詳細—「レースコンディション不要」の決定論的ページキャッシュ書き込みプリミティブ

XFRM ESP-in-TCPサブシステムとは

XFRM(eXtended FRaMework)はLinuxカーネルのIPsec実装の核となるフレームワークです。ESP-in-TCPはESP(Encapsulating Security Payload)パケットをTCPソケット上に包んで転送するモードで、ファイアウォールを通過しやすくするために使われます。esp4esp6(IPv4/IPv6向けESPカーネルモジュール)がこの処理を担います。

根本原因:skb_try_coalesceSKBFL_SHARED_FRAGを伝播しない

問題はLinuxカーネルのコアソケットバッファコードにあります。skb_try_coalesce()関数がページフラグメントをバッファ間で転送する際に、SKBFL_SHARED_FRAGフラグを引き継がないというロジックバグが存在しています。

このフラグは「このページは他のサブシステムとも共有されている(例:ファイルシステムのページキャッシュからspliceされたページ)」を示すマーカーです。フラグが失われると、カーネルはそのページを「安全に書き込めるプライベートページ」として扱います。

具体的な攻撃の流れは以下の通りです。

Step 1:攻撃者はunshare(CLONE_NEWUSER | CLONE_NEWNET)を使って新しいユーザー名前空間とネットワーク名前空間を作成します。このサンドボックス内でCAP_NET_ADMIN権限を取得します。

Step 2NETLINK_XFRMを通じてトランスポートモードのESP-in-TCPセキュリティアソシエーション(SA)を設定します。AES-128-GCMの既知の鍵を使用します。

Step 3splice()システムコールを使って、ターゲットファイル(例:/usr/bin/su)のページキャッシュページをTCPソケットの受信キューに投入します。

Step 4:TCPソケットをespintcpモードに切り替えます。これにより、XFRM ESP-in-TCPの受信パスが、これらのファイルキャッシュバック済みページを「ESP暗号文」として誤認します。

Step 5:カーネルがそのページ上でAES-GCM復号をin-placeで実行します。攻撃者は既知のIV(初期化ベクタ)値を制御することで、1バイトの決定論的な書き込みプリミティブを得ます。

Step 6:このプリミティブを使って、攻撃者はページキャッシュ内の/usr/bin/suに小さなELFスタブを書き込みます。ディスク上のバイナリは変更されないまま、次にsuが呼び出された際に攻撃者制御のコードがroot権限で実行されます。

Wiz(Google傘下)のセキュリティチームはこの脆弱性について「非特権ローカル攻撃者が、決定論的なページキャッシュ破壊プリミティブを通じて、読み取り専用ファイルの内容をカーネルページキャッシュ内で変更し、root権限を取得することを可能にする」と説明しています。

Microsoftの脅威インテリジェンスチームも「Dirty Fragと同様に、FragnesiaはXFRM ESP-in-TCPサブシステムの脆弱性を悪用してカーネルのメモリ書き込みプリミティブを達成する。このプリミティブは/usr/bin/suバイナリのページキャッシュメモリを破壊し、root権限でシェルを起動させるために使用される。悪用は/usr/bin/suバイナリに限定されず、ユーザーが読み取れる/etc/passwdを含む任意のファイルを変更できる」と述べています。


Dirty Frag・Copy Failとの関係——3週間で3件目のLPE

Fragnesiaは、2026年4月・5月に連続して公開されたLinuxカーネルのローカル権限昇格脆弱性の系譜の中で3件目となります。

名称 CVE 公開日 同一クラス
Copy Fail CVE-2026-31431 2026年4月29日 XFRM/ESP関連
Dirty Frag CVE-2026-43284, CVE-2026-43500 2026年5月7日 XFRM ESP-in-TCP
Fragnesia CVE-2026-46300 2026年5月13日 XFRM ESP-in-TCP

Fragnesiaについて注意が必要な点があります。「Dirty Fragとは別のバグ」です。Dirty Fragのカーネルパッチを適用しただけでは修正されません。ただし、Dirty Fragに対して適用されたモジュールブラックリスト(esp4・esp6・rxrpcの無効化)はFragnesiaにも有効です。

TuxCareの分析によれば、V12セキュリティチームは発見プロセスの一部にAIを活用したセキュリティツールを使用したとされており、エクスプロイトの反復速度が加速していることを示しています。また、上流パッチのFixes:タグが2013年のコミットを指しているという事実は、このバグクラスがまだ完全に解消されていない可能性を示唆しています。

関連:Linux カーネルの脆弱性 Dirty Fragでroot奪取が可能(CVE-2026-43284・CVE-2026-43500)


即時対応—パッチ適用前の暫定緩和策

最優先対応:パッチ適用とカーネルの再起動として、ディストリビューションが提供するパッチを速やかに適用してください。AlmaLinuxの場合は以下のコマンドです。

sudo dnf clean metadata && sudo dnf upgrade
sudo reboot

パッチ適用が困難な場合の暫定緩和策として、Dirty FRAGと同様にesp4esp6rxrpcモジュールを無効化することでFragnesiaのPoCはブロックできます。

echo "install esp4 /bin/false" >> /etc/modprobe.d/fragnesia-mitigation.conf
echo "install esp6 /bin/false" >> /etc/modprobe.d/fragnesia-mitigation.conf
echo "install rxrpc /bin/false" >> /etc/modprobe.d/fragnesia-mitigation.conf

注意事項として、IPsec(strongSwan・Libreswan等)のトンネルを終端または中継しているホストにはこの緩和策を適用しないでください。AFS/rxrpcクライアントも影響を受けます。

Dirty Fragの緩和策(モジュールブラックリスト)を適用済みの場合は、追加の対応は不要です(パッチ適用まで)。Dirty Fragのカーネルパッチのみを適用しモジュールブラックリストは適用していない場合は、新たにモジュールブラックリストの適用が必要です。

被害を受けた可能性がある場合として、対策を適用した後にページキャッシュをドロップして、破壊された可能性のあるキャッシュページを強制的にディスクから再読み込みさせることが推奨されています。

echo 3 > /proc/sys/vm/drop_caches

コンテナ・クラウド環境向け追加対策として、Seccompを通じて非特権ユーザーによるAF_ALGタイプのソケット作成を禁止し、非特権ユーザーの名前空間作成をインターセプトしてエスケープリスクを防いでください。AppArmor による非特権ユーザー名前空間の制限も部分的な緩和策として有効です。また/etc/passwd/etc/sudoers/etc/shadow/usr/bin/su等の重要なファイルへの異常な改ざんを監視してください。


参考情報(1次ソース)