サイバーセキュリティコミュニティは、Linuxオペレーティングシステムの核心部分に特に重大な欠陥を発見した。それは… コピー失敗これはCVE-2026-31431として登録された脆弱性で、長年見過ごされてきたものであり、権限を持たないローカルユーザーでもマシンを完全に制御できてしまう。
この判決は、 現代のほとんどすべてのLinuxディストリビューションはこの脆弱性は、システム管理者、クラウドプロバイダー、セキュリティ専門家の間で警鐘を鳴らしています。その単純さ、移植性、そして検出の難しさから、近年発生したローカル権限昇格の脆弱性の中でも最も深刻なものの一つとなっています。
コピー失敗(CVE-2026-31431)とは何か、そしてなぜそれほど深刻なのか
コピー失敗 (CVE-2026-31431)は ローカル権限昇格の脆弱性(LPE) これにより、通常のシステムアカウント、アプリケーションプロセス、あるいはDockerやKubernetesコンテナ内のユーザーなど、マシンへの基本的なアクセス権を持つユーザーがroot権限を取得できるようになります。直接リモートアクセスする必要はなく、システム上でコードを実行できるだけで十分です。
この脆弱性は2017年からLinuxカーネルに存在しており、その年から公式パッチの適用までの間にコンパイルされたすべてのバージョンに影響します。つまり、 広く使用されているディストリビューション として UbuntuDebian、SUSE、Red Hat Enterprise Linux (RHEL)、Amazon Linux、または特定のバージョンのWSL2は、特に共有サーバー、CI/CD環境、およびパブリッククラウドにおいて、この問題の影響を受けるか、過去に影響を受けていた。
危険は、それが何もないところから遠隔的に悪用される可能性があるという事実にあるのではなく、 コード実行を許可する過去の失敗脆弱性のあるウェブサイト、盗まれた認証情報、または悪意のある内部関係者は、Copy Failと組み合わせることで、非常に小さく信頼性の高いエクスプロイトによってroot権限への昇格を行うことができる。
コピー失敗として知られる不具合の起源:2017年の「無害な」変更
Copy Fail の技術的なルーツは、 2017年にカーネルに導入された変更様々な分析で、モジュール内の特定の暗号化機能に「インプレース」操作を追加したコミットとして特定されている。 algif_aeadこの変更は暗号化サブシステムの性能向上を目的としていたが、バッファ処理において論理エラーを引き起こした。
影響を受けるモジュールは暗号化テンプレートに依存しています authencesnこれは、HMAC-SHA256とAES-CBC暗号化を組み合わせたものです。このアルゴリズムでは、割り当てられたメモリの一部を一時的な作業領域として使用します。問題は、処理中に想定されるバッファ境界外に4バイトを書き込んでしまい、システムのファイルキャッシュ内のページに直接上書きしてしまうことです。
その小さな制御されたオーバーフローは、攻撃者にとって十分である。 読み取り可能なファイルのページキャッシュの特定の4バイトを変更するバイナリには、 setuid スーパーユーザー権限で実行されるもの、例えば /usr/bin/su o sudo重要な点は、変更はメモリ上でのみ行われ、ディスクに保存されているファイルには行われないということである。
コピー失敗の仕組み:すべてを変える4バイト
この脆弱性は、カーネルの2つの主要な要素に依存しています。 AF_ALG暗号化インターフェースとシステムコール splice()AF_ALGは、ユーザー空間プロセスが特別な権限なしにカーネルの暗号化サブシステムにアクセスできるようにする機能であり、事実上すべてのディストリビューションでデフォルトで有効になっています。
元の概念実証が 約732バイトのPythonコードと約10行のコードAF_ALGソケットを開き、脆弱なAEADモードに関連付けます。次に、 splice() ファイルキャッシュからページを直接マッピングする(例:バイナリページ) /usr/bin/suカーネルが暗号化操作のターゲットとして使用するデータ構造内。
暗号化処理中、アルゴリズム authencesn 出力バッファを一時的な領域として使用する そして、想定範囲外の4バイトの書き込みを実行します。このシナリオでは、書き込みは選択されたファイルのキャッシュページに行われます。攻撃者は、リクエストパラメータと認証済み追加データ(AAD)を使用して、これらの4バイトの位置(オフセット)と値を制御します。
必要なだけこのプロセスを繰り返すことで、 シェルコードの小さな断片を挿入したり、重要な命令を変更したりすることによって バイナリのメモリ内バージョンで setuidプログラムが最終的に実行されるとき(たとえば、 execve("/usr/bin/su");) カーネルはディスクからではなくキャッシュからコンテンツをロードするため、変更されたコードがルート権限で実行されます。
巧妙な攻撃:メモリの変更は行われるが、ディスク上のファイルはそのまま残される。
Copy Failの最も不安を掻き立てる特徴の1つは、 破損してもファイルは変更済みとしてマークされない変更されたページキャッシュは「ダーティ」としてフラグ付けされないため、カーネルはこれらの変更をディスクに書き戻しません。物理的に保存されたバイナリはそのままの状態を保ち、静止状態のファイルに基づく整合性チェックを問題なく通過します。
つまり、 システム再起動後、またはファイルがディスクから強制的に再読み込みされた場合 (メモリ負荷やその他の状況により)侵入の痕跡は消えてしまう。変更はキャッシュページが使用されている間のみRAM上に残るため、攻撃後のフォレンジック調査は非常に困難になる。
さらに、このエクスプロイトは完全に正当なシステムコールを使用し、 として socket() AF_ALG と共に、 splice() y execve() 通常のバイナリの、 これは通常のシステム動作にシームレスに溶け込みます。複雑な競合状態やメモリアドレスの推測は不要で、悪用に必要な技術的な複雑さを軽減します。
コピー失敗がサーバー、クラウド、コンテナに与える影響
Copy Fail の範囲は、単一のマシンにとどまりません。 カーネルページキャッシュはすべてのプロセス間で共有されます。 システムの障害は、影響を受けるモジュールがホストカーネルに存在する限り、Docker、LXC、Kubernetesなどのテクノロジーに典型的な分離の障壁を破ります。
一般的なウェブホスティングのシナリオでは、クライアントが自身のアプリケーションの軽微な脆弱性を悪用することで、 コピー失敗を利用して物理サーバー全体を侵害する また、同じマシン上でホストされている他のクライアントのデータやシステムにアクセスすることもできます。同様の現象は、共有CI/CD環境やパブリッククラウドでも発生し、そこでは複数の信頼できないワークロードが同じホスト上で実行されます。
重要なデータセンターでは、 Linuxを基盤として利用する銀行、通信事業者、クラウドプロバイダーこの脆弱性は、コンテナとホスト自体の分離を損なうものです。適切な対策が講じられていない場合、一見Kubernetesポッドに限定されているユーザーでも、ノード、ひいてはクラスタ全体を制御下に置くことが可能になります。
影響を受ける分布と深刻度
様々なセキュリティ会社が発表した分析によると、 2017年からこのバグが修正されるまでの間にコンパイルされた、ほぼすべてのLinuxディストリビューションが影響を受けた。 モジュールを含めると脆弱になります algif_aead また、AF_ALGインターフェースが有効になっている必要があります。これには、Ubuntu、RHEL、SUSE、Amazon Linux、Debian、およびAF_ALGをサポートするカーネルを使用する一部のWSL2ビルドが含まれます。
最も影響を受けやすいシステムは、 彼らは、最新のセキュリティパッチを適用せずに、影響を受ける範囲のカーネルを実行している。この脆弱性は、マルチユーザーサーバー、共有ホスティング、および複数のクライアントが物理マシンを共有するプラットフォームで特に多く発生します。CVSSスコアは10点満点中7,8点で、「深刻度高」に分類されています。
メーカーと販売業者は異なるスピードで反応した。 Debian、Ubuntu、SUSEは迅速にアップデートをリリースした。Red Hatなどの他のベンダーは当初、パッチのリリースを遅らせたが、コミュニティからの圧力と問題の深刻さから、数時間以内にリリースに加わった。
発見における人工知能の役割
Copy Fail事件で最も印象的な点の1つは、 徹底的なカーネルレビューにもかかわらず、ほぼ10年間検出されなかった。このバグは、Xint CodeやTheoriといったセキュリティ研究チームが使用する、人工知能を活用したコード解析ツールのおかげで発見された。
研究者らは AIを活用した自動スキャンソリューションで、コードを一行ずつレビューします。 彼らは暗号化などの複雑なサブシステムにおける異常な動作パターンを探します。このアプローチによって、テンプレートの論理的な欠陥を特定することができました。 authencesn そして、AF_ALGと2017年に導入された最適化との組み合わせ方にも影響があった。
この自動化されたサポートがなければ、 長年にわたって蓄積された変更、アルゴリズム設計、およびメモリ管理の特殊性 これにより、人間のチームが脆弱性を検出することは極めて困難になり、AIが欠陥の発見と重要システムの保護の両方において重要な要素になりつつあるという考えを裏付けるものとなった。
緊急の緩和策と応急処置
専門家が推奨する答えは明確だ。 対応するパッチが含まれているバージョンのLinuxカーネルにアップデートしてください。安定版カーネルブランチでコミットとして識別される重要な変更 a664bf3d603dモジュールの「インプレース」暗号化操作におけるバッファ検証を修正します。 algif_aead そして、数年前に導入された問題のある最適化を覆す。
生産環境では すぐに再起動やアップデートができない場合があります。 (例えば、24時間7日稼働する重要なサービスを持つデータセンターでは)一時的な対策が推奨されます。これには、構成にルールを追加して脆弱なモジュールの負荷を無効にすることが含まれます。 modprobe関連付ける方法 algif_aead (または場合によっては AF_ALG)を無害なバイナリに変換して使用を防止し、モジュールをダウンロードします rmmod 既に読み込まれている場合。
高リスク環境向けに、一部のサプライヤーは次のように提案しています。 AF_ALG暗号化インターフェースを完全にブロックする プロフィールを通じて seccomp または、その他のセキュリティ強化策。この措置はより抜本的なものであり、当該APIに依存する正当なアプリケーションに影響を与える可能性があるため、各組織で慎重に評価する必要があります。
特定のUbuntuバージョンが使用されている場合、設定例が配布されています。 公式アップデートが利用可能になるまで、関連モジュールを無効にしてください。これには以下のルールが含まれます modprobe.d システムツールを使用して CVE ステータスを確認するコマンドなど sudo pro fix CVE-2026-31431.
Linuxシステムにおけるエクスプロイト攻撃の試みを検出する方法
脆弱性は修正済みだが、多くの組織は 彼らが搾取の試みを受けたことがあるかどうかを確認してください。 または早期警戒システムを確立する。一部のセキュリティ企業は、コピー失敗に関連する不審な動作を検出するための詳細なガイドを公開しており、 auditd 例えば、SIEMソリューションなど。
提案されたアプローチの1つは、 バイナリへの読み取りアクセスを監視する setuid (例えば、 su, sudo, passwd, gpasswd, newgrp, chfn, chsh, mount, umount, fusermount3など)が、通常のパスに存在しないプロセスから実行される場合、 /usr/bin o /binまたは、呼び出し元のプロセスが Python のようなインタプリタである場合。
モニタリングも推奨される 呼び出しの使用 splice() 非特権ユーザーによる これらのバイナリの1つを読み込んだ直後に setuidパラメータを使用したソケットの作成も同様です。 SOCK_STREAM に関連する AF_ALG 対話型セッションのユーザー識別子(UIDが1000以上)から、(10進数値26)を取得します。
もう一つの警告サインは、次のようなコマンド文字列の出現です。 sh -c -- su または、Pythonスクリプトがシェルを起動するその他の組み合わせ 監視対象環境で明確な正当性なしに特権バイナリを実行すること。Kaspersky EDR Expert のような高度な検出および対応ソリューションには、すでに特定のルール (たとえば、 possible_lpe_by_python o possible_copy_fail_cve_2026_31431これらのパターンを特定するため。
SIEMと高度なセキュリティツールを使用した検出
複雑なインフラストラクチャを持つ組織、特に金融、産業、または公共行政部門では、 SIEMプラットフォームの利用は、セキュリティイベントを一元管理する上で重要です。 コピー失敗に関連しています。メーカーはサンプルルールを公開しています。 auditd 関連する通話を録音できるようにする。
勧告には以下の規則が含まれる 使用状況を監視する splice() 非ルートユーザーによる バイナリに関連付けられたファイルディスクリプタを操作する場合 setuidまた、対応するパラメータを10進数で指定することで、AF_ALGソケットを作成することもできます。これらのイベントはSIEMで相関付けられ、疑わしいシーケンスが検出された場合にアラートを発生させることができます。
システムコールに基づくルールに加えて、 ユーザー識別子(UID)の異常な変更を監視する 同じプロセスチェーン内、特に子プロセスが中間者なしに予想以上の権限を継承する場合 setuid または明示的な呼び出し sudoこの監視機能は、コピー失敗だけでなく、その他の種類のローカル権限昇格の脆弱性も検出するのに役立ちます。
セキュリティプロバイダーは、以下の点を考慮して製品を改良しています。 この脆弱性を悪用する新たな手法が、GoやRustといった言語でも利用可能になっている。これは、システムコールのシーケンスをわずかに変更し、より基本的な検出を回避しようとする可能性がある。
コピー失敗と以前のLinuxカーネルの脆弱性との比較
Linuxカーネルの最近の歴史では、ページキャッシュを悪用する他の権限昇格の脆弱性も出現しており、例えば次のようなものがあります。 汚い牛か汚いパイプかCopy Failは、攻撃者に提供するプリミティブの種類という点では近縁の「親戚」と見なされているが、異なるサブシステムで動作し、アプローチもやや異なる。
以前の脆弱性については それらは、理論上は読み取り専用のファイル内のデータの上書きを許可した。 ディスク上の機密ファイルを最終的に変更するために、Copy Failは、ファイルが物理的に変更される必要なく、カーネルの暗号化パスを通じてメモリ内のバージョンを破損させることに重点を置いています。
この違いによりコピーが失敗します ステルス性と携帯性の観点から魅力的この脆弱性は規模が小さく、複数のアーキテクチャとディストリビューションで動作し、競合状態に依存せず、AF_ALGなど、通常デフォルトで有効になっているインターフェースを利用します。攻撃者にとって、これはより大規模なエクスプロイトチェーンに組み込むのに非常に便利なツールとなります。
企業および管理者への推奨事項
Linuxに大きく依存している組織にとって、ロードマップには、差し迫った技術的な対策と、セキュリティ体制のより戦略的な見直しを組み合わせることが含まれる。
短期的には、 本番環境にあるすべてのLinuxシステムを一覧表示するカーネルのバージョンを確認し、該当するディストリビューションが提供するパッチを適用してください。再起動が複雑な場合は、インターネットに接続されたサーバー、マルチテナントプラットフォーム、信頼できないワークロードを実行しているKubernetesノードなど、最もリスクにさらされている環境を優先的に処理する必要があります。
補強として、 コンテナポリシーを確認する 厳密に必要でない場合は AF_ALG などのカーネル インターフェイスへのアクセスを制限するには、セキュリティ プロファイルを強化します (たとえば、 seccomp または AppArmor/SELinux) とバイナリの数を減らします setuid システム内で。
同時に、セキュリティチームは 監視ルールとアラートルールを更新してください。 Copy Failと互換性のある攻撃パターンを検出するとともに、研究者らが公開している検証ツールを用いて、常に管理された環境下で、各組織の内部ポリシーに従って内部テストを実施する。
Copy Fail は、Linux カーネルのように徹底的にレビューされたエコシステムであっても、 小さな論理的な欠陥は、何年も隠れたままになり、深刻な問題に発展する可能性がある。 世界中の企業や政府機関にとって、迅速なパッチ適用、適切に設計された緩和策、強化された監視、そしてAIを活用した分析ツールの利用拡大を組み合わせることが、警戒を緩めることなくこれらの脆弱性を管理するための最善の方法として台頭しつつある。