CVE-2026-31431、通称CVE-2026-31431ことCopy Failの影響を受ける数百万台のLinuxシステムでは、わずか732バイトのPythonスクリプトを実行するだけでroot権限を奪取できます。この脆弱性は2026年4月下旬にTheoriとXintの研究者によって初めて開示されたもので、Linuxカーネルのauthencesn暗号テンプレートに存在します。
Copy Failは2017年以降にリリースされたカーネルを実行するほぼすべてのLinuxディストリビューションに影響し、エンタープライズサーバーや組み込みシステムなど幅広い運用基盤が対象に入ります。信頼されてきたカーネルの仕組みがシステム全体を侵害する経路に転じ得るという、現代のLinuxベース環境に潜む構造的な脆さをCopy Failは露呈させました。
Copy Fail概要(At a glance: Copy Fail)
| 項目 | 内容 |
|---|---|
| 脆弱性 | CVE-2026-31431(Copy Fail) |
| CVSSスコア | 7.8(高) |
| 脆弱性の種類 | ローカル権限昇格(AV:L/PR:L) |
| 攻撃ベクトル | 権限を持たないローカルユーザーによるコード実行(PR:L) |
| 技術的な概要 | Linuxカーネルの暗号処理サブシステムに存在する欠陥により、攻撃者はsetuidバイナリを含む読み取り可能なファイルのページキャッシュを破壊できる。この挙動を悪用し、root権限でコードを実行して、影響を受けるシステム上でアクセス権限を昇格させる。 |
Copy Failとは、権限を持たないローカルユーザーがLinuxのページキャッシュ内で4バイトを確実に上書きする操作を引き起こし、権限を持つバイナリを改ざんして影響を受けるシステム上でroot権限まで昇格できてしまう脆弱性です。
レースコンディションや不安定なメモリ破壊に依存する多くの権限昇格の脆弱性とは異なり、Copy Failは制御された、再現性のある上書き操作を可能にします。これは、権限を持つファイルへの読み取り専用アクセスがそのファイルの改変を許すことはないというLinuxシステムが前提としてきた重要なセキュリティ上の原則を破るものです。
研究者らは、setuidバイナリを改変してroot権限で実行できることを実証しました。この改変は通常のファイル書き込みではなくLinuxのページキャッシュ内で行われるため、従来型のファイル整合性監視の手法では変更を即座に検知できない場合があります。
DirtyFrag:Copy Failと同系統の新たな脆弱性
Copy Failに関する議論が公になってから数時間後、研究者らはDirtyFrag、通称「Copy Fail 2」と呼ばれる別のLinuxローカル権限昇格の手法を公開しました。
研究者によれば、DirtyFragはCopy Failと同じ広い脆弱性クラスに属するものの、対象となるLinuxのサブシステムが異なります。Linuxカーネルのauthencesn暗号テンプレートではなく、esp4、esp6、rxrpcの各パスを悪用することでCopy Failと同様のページキャッシュ上書きと権限昇格を引き起こすと報告されています。
Copy Failの公表から間もなくDirtyFragが明らかになったことからも、研究者や攻撃者がLinuxの複数のサブシステムにわたるページキャッシュ操作の脆弱性を、より広い範囲で積極的に探っていることがうかがえます。これにより議論の対象は単一の脆弱性を超え、信頼されてきたカーネルの処理やcopy-on-writeの前提、ファイルシステムのメモリ管理の挙動そのものへの懸念に広がっています。
本ブログ執筆時点でもDirtyFragに関する研究は続いており、IPv6処理のパスに同様の挙動が及ぶ可能性を指摘する声も出ています。
Copy FailとDirtyFragのMITREフレームワークへのマッピング
VicOneのCyber Threat Research Labは、公開されているエクスプロイト手法をMITRE ATT&CK®とMITRE ATT&CK® for Automotive(ATM)の両フレームワークに対応づけ、従来型のエンタープライズ環境や車載組み込み環境を想定し、Copy FailとDirtyFragが初期侵入から侵害拡大までの一連の攻撃にどのように組み込まれるかを分析しました。
| 技術的な操作 | MITRE Tactic | MITRE Technique(ID) | ATM Tactic | ATM Technique(ID) |
|---|---|---|---|---|
| bashスクリプトの作成 | Resource Development(リソース開発) | Develop Capabilities: Exploits (T1587.004)(能力の開発:エクスプロイト) | N/A | N/A |
| Pythonスクリプトの実行 | Execution(実行) | Command and Scripting Interpreter: Python (T1059.006)(コマンドおよびスクリプトインタープリター:Python) | Execution(実行) | Command and Scripting Interpreter (ATM-T0018)(コマンドおよびスクリプトインタープリター) |
| netlink経由での加工済みペイロードの送信 | Privilege Escalation(権限昇格) | Exploitation for Privilege Escalation (T1068)(権限昇格のための脆弱性の悪用) | Privilege Escalation(権限昇格) | Exploit OS Vulnerability (ATM-T0026)(OSの脆弱性の悪用) |
| root権限奪取のための/usr/bin/suの実行 | Privilege Escalation(権限昇格) | Abuse Elevation Control Mechanism (T1548)(権限昇格制御機構の悪用) | Privilege Escalation(権限昇格) | Abuse Elevation Control Mechanism (ATM-T0024)(権限昇格制御機構の悪用) |
表1.Copy FailのMITREマッピング
| 技術的な操作 | MITRE Tactic | MITRE Technique(ID) | ATM Tactic | ATM Technique(ID) |
|---|---|---|---|---|
| bashスクリプトの作成 | Resource Development(リソース開発) | Develop Capabilities: Exploits (T1587.004)(能力の開発:エクスプロイト) | N/A | N/A |
| bashスクリプトの実行 | Execution(実行) | Command and Scripting Interpreter: Unix Shell (T1059.004)(コマンドおよびスクリプトインタープリター:Unixシェル) | Execution(実行) | Command and Scripting Interpreter (ATM-T0018)(コマンドおよびスクリプトインタープリター) |
| AppArmorの回避 | Defense Evasion(防御回避) | Abuse Elevation Control Mechanism (T1548)(権限昇格制御機構の悪用) | Defense Evasion(防御回避) | Bypass Mandatory Access Control (ATM-T0034)(強制アクセス制御の回避) |
| /etc/passwdへのアクセス | Discovery(探索) | File and Directory Discovery (T1083)(ファイルおよびディレクトリの探索) | Discovery(探索) | File and Directory Discovery (ATM-T0042)(ファイルおよびディレクトリの探索) |
| 加工したUDPパケットの送信 | Privilege Escalation(権限昇格) | Exploitation for Privilege Escalation (T1068)(権限昇格のための脆弱性の悪用) | Privilege Escalation(権限昇格) | Exploit OS Vulnerability (ATM-T0026)(OSの脆弱性の悪用) |
| uid-0ユーザーの追加 | Persistence(永続化) | Create Account: Local Account (T1136.001)(アカウントの作成:ローカルアカウント) | N/A | N/A |
| root権限奪取のためのsuの実行 | Privilege Escalation(権限昇格) | Abuse Elevation Control Mechanism (T1548)(権限昇格制御機構の悪用) | Privilege Escalation(権限昇格) | Abuse Elevation Control Mechanism (ATM-T0024)(権限昇格制御機構の悪用) |
表2.DirtyFrag(「Copy Fail 2」)のMITREマッピング
Linuxベースのソフトウェアが現代の車両アーキテクチャに深く組み込まれるほど、こうした攻撃経路が車両システムの実際の被害につながる可能性は大きくなります。
自動車OEMへの影響
現代の車両は、Automotive Grade Linux(AGL)、AUTOSAR Adaptiveプラットフォーム、テレマティクスシステム、ADAS、ゲートウェイ、インフォテインメント(IVI)環境など、Linuxベースのシステムに大きく依存しています(AUTOSAR AdaptiveはLinuxカーネル上で稼働する構成に限られ、QNXやINTEGRITY等の非Linux RTOS上では対象外です)。Copy FailとDirtyFragは、実行するたびに同じ結果を確実に得られるという特徴を持ちます。多くの権限昇格の脆弱性は、タイミングを合わせる必要があるレースコンディションや成功が運に左右されるメモリ破壊に依存しますが、Copy FailとDirtyFragはそうした不確実性がなく、いったん足がかりを得た攻撃者にとってそのまま実戦で悪用しやすい手段になります。
コンテナからのエスケープ: 攻撃者がアプリケーションやコンテナ化された環境への限定的なアクセスを得た場合、これらの脆弱性を使ってサンドボックス化された実行環境から脱出し、その基盤となるホストOSへの権限昇格につながるおそれがあります。
権限昇格と横方向への侵害拡大: Linuxベースの車載環境内で権限を昇格させた攻撃者は、ネットワークの分離状況やアーキテクチャ、既存のセキュリティ対策次第でゲートウェイやテレマティクス制御ユニット(TCU)など接続された他のシステムへ侵害を広げられる可能性があります。場合によっては、CANバスなど車内ネットワークへの露出が高まることもあります。
Copy FailとDirtyFragは、挙動が決定的であることも運用上の重大性を高めています。不安定なレースコンディションや確率的なメモリ破壊に依存する脆弱性とは異なり、これらのエクスプロイトは確実かつ再現性のある挙動を示すため、初期アクセスを得た攻撃者にとって実際の武器化がしやすくなります。
自動車OEMおよびサプライヤーには、CRA(サイバーレジリエンス法)やISO/SAE 21434への対応と並行して、迅速なパッチ管理、ランタイムモニタリング、振る舞い検知に一層力を入れることが求められます。
今後の対応
自動車OEMおよびサプライヤーは、Copy FailとDirtyFragの影響を受けるLinuxベース・コンテナ化された車載環境について、パッチの検証、ランタイムモニタリング、振る舞い検知を優先して進める必要があります。Linuxの各サブシステムにわたってエクスプロイトの変種が今後も出てくることを踏まえると、防御側は静的なシグネチャだけに頼らず、権限昇格の異常な挙動やエクスプロイト実行に伴うsyscallの異常を検知する方向へシフトする必要があるでしょう。
Copy FailとDirtyFragに関連する攻撃の試みは、電子制御ユニット(ECU)や組み込みLinux環境で通常とは大きく異なる挙動として現れる可能性があります。こうした環境では、悪用に使われるカーネルのサブシステムやネットワーキングパスが正規の用途ではほとんど使われない、またはそもそも組み込まれていないことが多いためです。
平時はほとんど使われないはずのカーネル機能が動作すればそれ自体が強い異常の兆候になるため、制約の多い車載環境でも精度の高い振る舞い検知が可能になります。VicOneの「xCarbon」のようなIDS/IPSソリューションは車両の通常動作を妨げない設計により、Linuxベースの車載・組み込みシステム全体でプロセス実行やsyscallの異常な挙動を可視化し、こうした検知を支えます。
現代の車両は、汎用コンピューティング環境と変わらない複雑さを内部に抱えるようになっています。Copy FailやDirtyFragのようなカーネルレベルの脆弱性は、そうした車両の中でコンテナからの脱出や車内システムへの侵害拡大へと発展し、実際の運用リスクとなる可能性があります。