Linuxカーネルの脆弱性「DirtyClone」の実証コード公開、痕跡を残さずルート権限奪取が可能に

2026年6月29日 18:52

印刷

記事提供元:Tech Times

(Rafael Minguet Delgado/Unsplash)

(Rafael Minguet Delgado/Unsplash)[写真拡大]

Linuxシステムを利用する管理者に影響する深刻な脆弱性「DirtyClone」の実証コードが公開された。JFrogの報告によると、攻撃者はカーネルログやディスクに痕跡を残さずにルート権限を取得できるという。管理者は、関連するパッチシリーズが完全に適用されているか確認し、速やかにアップデートを行う必要がある。

■痕跡を残さないルート権限奪取の手法が公開

セキュリティ研究機関のJFrog Security Researchは2026年6月25日(木)、Linuxカーネルの深刻な脆弱性「DirtyClone」(CVE-2026-43503)に対する実証コード(エクスプロイト)の詳細を公開した。この脆弱性を悪用すると、ローカルユーザーがカーネルログに痕跡を残さず、ファイル整合性監視ツールにも検知されずにルート権限を取得できるとされる。

修正パッチは5月21日にLinuxメインラインで公開されているが、多くのディストリビューションではまだ提供が始まっておらず、クラウドサーバーやKubernetesクラスター、CIランナーなどが危険にさらされている可能性がある。

■安全フラグの消失がルート権限奪取につながる仕組み

この脆弱性は、ゼロコピーネットワーク機能を悪用してメモリを書き換える「DirtyFrag」ファミリーに属する。通常、Linuxカーネルはパフォーマンス向上のため、ページキャッシュ上の実行ファイルをコピーせずに直接パケットデータとして送信できる仕組みを持っている。

しかし、このメモリがディスク上のファイルと共有されていることを示すメタデータフラグ(SKBFL_SHARED_FRAG)がカーネル処理中に消失すると、脆弱性が発生する。DirtyCloneでは、パケットを複製する関数「__pskb_copy_fclone()」が、トラフィックミラーリングなどで使われるnetfilterの「TEEターゲット」処理中にこの安全フラグを落としてしまうことが原因とされる。

■7段階の攻撃プロセス

JFrogの研究者であるEddy Tsalolikhin氏とOr Peles氏が公開した手順によると、攻撃は7つの段階で実行される。まず、攻撃者は「/usr/bin/su」などの特権バイナリをメモリ上にマッピングし、ページキャッシュにロードする。次に、「vmsplice()」や「splice()」システムコールを用いて、このページキャッシュのメモリをネットワークソケットバッファに直接接続する。

デフォルトのDebianやFedoraなどで一般ユーザーでも取得可能な「CAP_NET_ADMIN」権限を利用し、ループバックベースのIPsecトンネルを構築してnetfilterのTEEルールを追加する。パケットが送信されると、TEEルールによってパケットが複製されるが、この際に安全フラグが消失する。

複製されたパケットがIPsecの復号処理(esp_input())を通る際、安全フラグがないため、カーネルはコピーを作らずにその場で復号を行い、ページキャッシュ上の「/usr/bin/su」を直接上書きする。攻撃者は暗号キーや初期化ベクトル(IV)を制御できるため、バイナリの認証ロジックを書き換えてパスワードチェックをバイパスさせることができる。ディスク上のファイルは変更されないため、整合性監視ツールでは検知できない。

この手法は、Kubernetesノード上で特権コンテナとベースイメージを共有する非特権コンテナからの「コンテナ脱出(エスケープ)」にも悪用される可能性がある。

■構造的な課題と「DirtyFrag」ファミリー

DirtyCloneは、最初の「DirtyFrag」(CVE-2026-43284)、「Fragnesia」(CVE-2026-46300)に続く、同ファミリーの3番目のバリアントである。これらは、ファイルベースのページキャッシュ、ネットワークソケットバッファ、インプレース暗号復号処理という3つのメモリ役割の分離が不十分であるという、カーネルの構造的な問題に起因している。

JFrogは、安全フラグを落とすあらゆるソケットバッファ変換処理が攻撃経路になり得ると指摘しており、今後の監査によってさらなるバリアントが発見される可能性があると予測している。

■影響を受けるシステムと対策

DirtyFrag関連のパッチシリーズが完全に適用されていないすべてのカーネルが影響を受ける。DebianやFedoraはデフォルトで非特権ユーザー名前空間が有効なため、特に脆弱である。Ubuntu 24.04以降はAppArmorによる制限で一部緩和されているが、依然として影響を受けるとされる。

根本的な対策は、カーネルを「v7.1-rc5」以降、または各ディストリビューションが提供するCVE-2026-43503のバックポートパッチにアップデートすることである。即座のアップデートが困難な場合の暫定的な回避策として、非特権ユーザー名前空間の制限(kernel.unprivileged_userns_clone=0)や、カーネルモジュール(esp4、esp6、rxrpc)のブラックリスト登録などが挙げられる。

■注目ポイントQ&A

●CVE-2026-43503の影響を受けるLinuxディストリビューションはどれですか?

完全なDirtyFragパッチが適用されていないカーネルを実行しているすべてのディストリビューションが対象です。DebianやFedoraはデフォルト設定で脆弱であり、Ubuntu 24.04以降も一部緩和策はあるものの影響を受けると報告されています。

●カーネルがDirtyCloneに対してパッチ適用済みか確認する方法はありますか?

「uname -r」コマンドを実行して現在のカーネルバージョンを確認し、ご利用のディストリビューションが公開しているCVE-2026-43503の修正バージョンと比較してください。一部のパッチだけでは不十分であり、DirtyFragシリーズのすべてのパッチが適用されている必要があります。

●DirtyCloneが一般的なカーネル脆弱性よりも検出困難な理由は何ですか?

この攻撃はディスク上のファイルを変更せず、メモリ上のページキャッシュのみを書き換えるためです。ディスク上のファイルをハッシュ値で監視する整合性ツールや、通常のシステムログでは検知できません。

●CVE-2026-43503の実際の悪用事例は確認されていますか?

記事公開時点で、DirtyCloneの実際の悪用事例は確認されていません。JFrogは完全に機能する攻撃コードの公開を控えていますが、公開された解説は詳細であるため、管理者は速やかにパッチ適用などの対策を行うことが推奨されます。

元記事: Linux Kernel Root Exploit Published: DirtyClone Attack Leaves No Trace

※この記事はTech Timesから提供を受けた記事を日本向けに翻訳・編集したものです。

関連キーワード

関連記事