注目

脆弱性 / VULNERABILITIES / LINUX KERNEL

LinuxカーネルにCVSS 9.8のdouble-free脆弱性 CVE-2026-72137、xfrmでroot権限昇格が可能 — PoC公開

Linuxカーネルのxfrmサブシステムnat_keepaliveコンポーネントにdouble-freeの脆弱性CVE-2026-72137(CVSS 9.8)が見つかった。パケットバッファを二重に解放することでメモリ破壊が起き、権限のないローカルユーザーがroot権限を取得できる。研究チームNebuSecがUbuntu 26.04向けのPoCを公開し、脆弱性は2024年6月に導入され2026年7月に上流で修正された。

攻撃手法
ソフトウェア

LinuxカーネルのIPsec関連サブシステム「xfrm」のnat_keepaliveコンポーネントに、double-free(解放済みメモリの二重解放)の脆弱性「CVE-2026-72137」が見つかった。CVSSスコアは9.8と評価され、権限を持たないローカルユーザーがカーネルのメモリ破壊を介してroot権限を取得できる。セキュリティ研究チームのNebuSecが2026年8月27日にPoC(概念実証コード)をGitHubで公開し、Ubuntu 26.04での権限昇格を動画で実証した。

脆弱性の概要

CVE-2026-72137は、Linuxカーネルのxfrmサブシステムに含まれるnat_keepaliveの送信関数nat_keepalive_send()に存在する。NebuSecの公開情報によると、この関数はIPv4またはIPv6の送信ヘルパーがエラーを返した際に、ネットワークパケットを保持するバッファであるskb(socket buffer)を解放する。

この解放は、skbがネットワークスタックの出力パスに渡される前であれば安全である。しかし、skbがすでにスタックに所有権が移った後では、スタック側がすでにバッファを消費・解放している可能性がある。にもかかわらず再度kfree_skb()などで解放すると、同一メモリ領域を二重に解放するdouble-freeが発生する。NebuSecはこれによりメモリ破壊が起き、最終的に権限昇格につながると説明している。

NebuSecは、X(旧Twitter)で「Ubuntu 26.04向けの最新エクスプロイト、xfrmのdouble-free CVE-2026-72137」と題して動画を投稿し、脆弱性を実証した。同チームのGitHubリポジトリ「CyberMeowfia」では、Ubuntuカーネル7.0.0-28を対象としたPoCが公開されている。修正コミットは上流でxfrm: nat_keepalive: avoid double free on send errorというメッセージで取り込まれた。

影響を受けるバージョン

NebuSecによると、この脆弱性は2024年6月に導入され、2026年7月に上流カーネルで修正された。したがって、この期間に脆弱なnat_keepaliveコードを含むカーネルビルドが影響を受ける。NebuSecのPoCはUbuntu 7.0.0-28を対象としているが、同じコードを取り込んだ他のディストリビューションのカーネルでも影響を受ける可能性がある。

GitHubの研究リポジトリには、対象カーネルでの再現手順とエクスプロイトコードが含まれており、研究者や管理者が自身の環境が影響を受けるか確認できる形で公開されている。

技術的な詳細

nat_keepalive_send()は、NAT(Network Address Translation)環境でIPsecの接続を維持するために定期的に送信されるキープアライブパケットを生成・送信する関数である。NebuSecの分析では、次の流れでdouble-freeが発生する。

  1. nat_keepalive_send()skbを確保し、IPv4/IPv6の送信処理を呼び出す。
  2. 送信ヘルパーがエラーを返すと、関数はエラー処理としてskbを解放する。
  3. しかし、skbがすでにip_route_outputなどの出力パスに渡され、ネットワークスタックが所有権を持った後では、スタック側がskbを解放済みである可能性がある。
  4. この状態で再度解放すると、二重解放が発生し、ヒープのメモリ管理構造が破壊される。

この破壊を足がかりに、攻撃者はカーネルヒープを操作して任意コード実行や権限昇格を達成できる。NebuSecは動画で、一般ユーザー権限からroot権限への昇格を実演している。

修正状況と対策

上流のLinuxカーネルでは、2026年7月に修正が取り込まれた。修正では、送信エラー時のskbの二重解放を避けるために所有権の管理が是正されている。

NebuSecが公開したGitHubリポジトリとXの投稿が示す対策は次のとおりである。

  • 上流の修正を取り込んだカーネルに更新する。各ディストリビューションが提供するセキュリティ更新を適用する必要がある。Ubuntuでは7.0.0-28を含む影響を受けるビルドを利用している場合、修正版カーネルへの更新が推奨される。
  • PoCが公開されているため、インターネットに露出したホストやコンテナ環境では特に速やかな適用を検討する。ローカルでの権限昇格であるため、すでに侵入されたホストでの二次的な権限昇格に悪用される可能性がある。

ディストリビューターが提供する修正版カーネルのバージョンや入手方法は、各ベンダーのセキュリティアドバイザリで確認する必要がある。

出典

この記事は、公開情報と編集部の調査・知見をもとに構成しています。内容は公開時点の情報に基づく解説であり、個別の環境への診断・対応を保証するものではありません。重要な判断では、記事内の出典や各提供元の最新情報もご確認ください。