Linux カーネルの脆弱性 CVE-2026-31695 が FIX:5年前からの問題と PoC の提供

5-Year-Old Linux Kernel Vulnerability Allows Unprivileged Attackers to Gain Root Access

2026/11/03 gbhackers — 5 年前から存在していた Linux カーネルの脆弱性を悪用することで、特権を持たないローカルユーザーが root 権限を取得し、システムを完全に制御できるようになる。この脆弱性 CVE-2026-31695 は、セキュリティ研究者の Alexander Popov により発見・修正された。同氏が公開したのは、x86_64 アーキテクチャの Fedora 44 Server をデフォルト設定でインストールした環境に対する、実際に動作するエクスプロイトである。攻撃手法の詳細は、PT SWARM の調査レポートに記載されている。

Linux カーネルの脆弱性

この脆弱性は、Linux のネットワークデバイス管理における論理的な誤りに起因し、解放済みメモリの使用 (Use-After-Free) を引き起こす。問題が存在するのは “virt_wifi” ドライバであり、以下の呼び出しにより、各仮想ネットワーク・デバイスが下位デバイスに関連付けられてしまう。

SET_NETDEV_DEV(dev, &priv->lowerdev->dev);

アップストリームの修正には、「wifi: virt_wifi: remove SET_NETDEV_DEV to avoid use-after-free」というタイトルが付けられている。この問題は、デバイスの終了処理中において、netdev_run_todo() による “virt_wifi” デバイスの登録解除と、下位デバイスのメモリ解放が同時に実行される場合に発生する。その結果、仮想デバイスの dev.parent ポインタが、すでに解放されたメモリを参照する状態になってしまう。その後に、”ethtool” の操作が ethnl_ops_begin() に到達すると、この無効なポインタが使用される。

pm_runtime_get_sync(dev->dev.parent);

NVD は、この脆弱性を CWE-416 (Use After Free) に分類している。このように、長期間にわたり存在していたカーネルのバグが、セキュリティ監査が十分に行われていないコードから繰り返し発見されている。最近の事例としては、カーネル 4.17 以降に存在し、RDS のゼロコピーパスに影響を及ぼす ZcopyReaper の脆弱性がある。

このバグは競合状態が成立する、ごく短い時間に依存する、システムの安定性に関する問題のように見える。しかし、Alexander Popov の研究が示すのは、実際には、はるかに危険であることだ。同氏は、競合状態を安定して発生させ、実用的な攻撃に利用できる方法を説明している。また、偽装した struct device を使用することで、攻撃者がカーネルのセキュリティ強化機構を回避し、オペレーティング・システムを完全に制御できる仕組みも明らかにしている。

この脆弱性の影響は、ローカル権限昇格 (LPE) である。攻撃者にとって必要なことは、低権限のシェル/侵害されたサービスアカウント/共有環境で実行されるコードといった、システム内での足掛かりを確保することである。一度アクセスを確立した攻撃者は、この脆弱性を利用して root 権限の取得が可能になる。そのため、複数ユーザーが利用するサーバ/CI ランナー/共有ホスティング環境/コンテナホストなどが、きわめて高リスクの標的となる。

すでに攻撃者は、カーネルの LPE 脆弱性を別の脆弱性と組み合わせて悪用している。最近の侵害事例として挙げられるのは、PHP2Shell の脆弱性と Fragnesia カーネルの脆弱性を連鎖的に悪用し、Palo Alto Networks の PAN-OS システムで root 権限を取得した件である。この脆弱性 CVE-2026-31695 も、初期侵害後に同様の役割を果たす可能性がある。

CVE-2026-31695 の深刻度については、ベンダー間で評価が分かれている。Amazon Linux は、CVSS v3 スコア 7.8 (AV:L/AC:L/PR:L/UI:N) として、深刻度を Important と評価している。一方、Red Hat は Low と評価している。

今回の研究が公開される前の AppSecure データベースでは、既知の公開エクスプロイトは存在せず、EPSS スコアは 0.01% であり、CISA KEV にも登録されていなかった。しかし、Popov の研究により状況は変化している。広く使用されている Linux ディストリビューションに対して、root 権限を取得するエクスプロイトが公開されたことで、防御側は低い深刻度評価だけに依存できなくなっている。

修正済みバージョンと緩和策

NVD によると、この脆弱性はカーネル 5.15.203/6.1.168/6.6.134/6.12.81/6.18.22/6.19.12 で修正されている。Amazon Linux 2023 のユーザーは、ALAS2023-2026-1681 と ALAS2023-2026-1746 を適用する必要がある。一方、Amazon Linux 2 は影響を受けないとされている。管理者にとって必要なことは、実行中のカーネル・バージョンと、脆弱なドライバの存在の有無の確認である。

uname -r
lsmod | grep virt_wifi

“virt_wifi” が不要な環境では、このドライバをブロックリストに登録することで、脆弱なコードが実行される経路を排除できる。ただし、この方法は筆者による提案であり、ベンダーが公式に提示した回避策ではない。

echo "blacklist virt_wifi" | sudo tee /etc/modprobe.d/disable-virt-wifi.conf
sudo modprobe -r virt_wifi

恒久的な修正方法は、パッチが適用されたカーネルもしくは、ディストリビューションが提供するバックポート版を導入することである。信頼できないローカルコードの実行を許可しているホストについては、優先的にアップデートする必要がある。また、競合状態を成立させようとする攻撃の兆候として、仮想ネットワークデバイスにおける作成/削除の繰り返しや、”ethtool” の異常な操作を監視することも推奨される。

カーネルのセキュリティ強化は攻撃の難易度を高めるが、迅速なパッチ適用の代わりにはならない。DirtyClone で確認されたページ・キャッシュを悪用する攻撃が示すのは、依然としてローカルユーザーが root 権限を取得する経路を見つけ出していることだ。組織は、カーネルの LPE エクスプロイトが公開されるたびに、パッチ適用の頻度や運用体制を見直す契機とすべきである。