わずか732バイトのPythonスクリプトで、2017年以降にリリースされたほぼすべての主要なLinuxディストリビューションのルート権限を取得できることが判明し、数百万台のサーバーやクラウドワークロードが極めて容易に悪用可能な権限昇格の脆弱性にさらされています。
戻る
わずか732バイトのPythonスクリプトで、2017年以降にリリースされたほぼすべての主要なLinuxディストリビューションのルート権限を取得できることが判明し、数百万台のサーバーやクラウドワークロードが極めて容易に悪用可能な権限昇格の脆弱性にさらされています。

Linuxカーネルに「Copy Fail」と名付けられた深刻な脆弱性が発見されました。これにより、わずか732バイトのPythonスクリプトを使用するだけで、ローカルユーザーが完全なルート権限を取得できる可能性があります。この欠陥は、2017年以降にリリースされたRed Hat、Ubuntu、SUSEを含むほぼすべての主要なディストリビューションに影響を与えます。CVE-2026-31431として追跡され、CVSSスコアは7.8と評価されているこの脆弱性は、数百万のKubernetesクラスターや共有ホスティング環境を含む、クラウドインフラストラクチャの大部分に影響を及ぼします。
サイバーセキュリティ企業Xint CodeはX(旧Twitter)への投稿で、「これは極めて容易に悪用可能なロジックバグである」と述べ、修正を加えることなく、同じ小型でポータブルなPythonスクリプトがテストされたすべてのプラットフォームで動作することを指摘しました。米サイバーセキュリティ・インフラセキュリティ庁(CISA)は5月1日、この脆弱性を「悪用が確認された脆弱性」カタログに追加し、連邦政府機関に対して「重大なリスク」をもたらすと警告しました。
この脆弱性は、2017年のカーネル最適化で導入されたロジックエラーに起因しています。攻撃者は標準的なシステムコールを連鎖させることで、カーネルのページキャッシュ(システムがファイルへの高速アクセスのために一時的なコピーを保持するRAM領域)に対して制御された4バイトの書き込みを行うことができます。これにより、/usr/bin/suなどの特権プログラムのメモリ上のデータが、ディスク上のファイルを変更することなく改ざんされ、ほとんどのファイル整合性監視ツールには検知されないまま侵入が可能になります。
このエクスプロイトの信頼性と単純さは、マルチテナント環境にとって重大な脅威となります。Microsoft Defenderの研究者は、攻撃者が1つのコンテナで足場を築けばホストノード全体を侵害できる可能性があるため、コンテナ脱出や横方向の移動(ラテラルムーブメント)を容易にする可能性があると指摘しています。攻撃には初期のローカルアクセスベクターが必要ですが、一度アクセス権を得れば、ルートへの昇格は確実に行われます。
### 9年前のカーネルバグがコンテナ脱出を可能にする仕組み
CVE-2026-31431の核心は、カーネルの暗号化サブシステム、特に algif_aead モジュールにあります。2017年に行われた、インプレース暗号化操作のためにメモリを再利用してパフォーマンスを向上させる設計変更において、特定の誤り処理パスの考慮が漏れていました。3月23日にLinuxカーネルチームにこのバグを非公開で報告したTheoriの研究者は、この見落としを悪用して、読み取り可能な任意のファイルのページキャッシュに4バイトの任意のデータを書き込めることを発見しました。
単一のホスト上のコンテナは同じカーネルを共有しているため、同じページキャッシュも共有しています。そのため、1つのコンテナ内の非特権プロセスがCopy Failエクスプロイトを使用して、ホストや他のコンテナが使用する機密性の高いバイナリのメモリ表現を書き換えることができます。そのバイナリが次に実行されると、攻撃者の変更が加えられた状態で動作し、ルート権限が付与され、すべてのコンテナ隔離境界が実質的に破壊されます。これにより、脆弱なWebアプリケーションなどを介したコンテナの初期侵害が、システム全体の侵害につながる可能性があります。
### パッチ配布に伴う回避策
Linuxカーネルのセキュリティチームは4月1日、欠陥のある2017年の最適化を元に戻すパッチをメインラインブランチにコミットしました。完全にパッチが適用されたカーネルの配布が進んでいますが、多くのディストリビューションは古い長期サポート(LTS)カーネルを使用しており、修正をバックポートするプロセスに時間がかかります。これに対し、主要なディストリビューターは即時の緩和策を公開しました。
Ubuntuおよびその派生版では、kmod パッケージのアップデートにより、脆弱な algif_aead モジュールのロードがブロックされます。管理者は sudo apt update && sudo apt upgrade を実行して再起動することで、この修正を適用できます。即座にアップデートできないシステムの場合、/etc/modprobe.d/ 内のファイルに install algif_aead /bin/false という行を追加することで、手動でモジュールを無効化できます。Red Hatは、この緩和策によりカーネルの暗号機能を必要とするタスクでわずかなパフォーマンスへの影響が出る可能性があるものの、悪用を完全に防ぐことができるとしています。
本記事は情報提供のみを目的としており、投資勧誘を目的としたものではありません。