Linuxエコシステムの根幹を揺るがす新たな脆弱性が報告されました。Xint Codeが公開した新しい脆弱性、通称「Copy Fail(CVE-2026-31431)」は、わずか732バイトの短いPythonスクリプトを実行するだけで、一般ユーザーが最高権限(root)を奪取できるという衝撃の内容となっています。Ubuntu、RHEL、Amazon Linux、SUSEといった主要なディストリビューションのすべてが影響を受け、2017年以降にリリースされたほぼすべてのシステムで悪用が可能という、極めて広範囲かつ危険なバグとして注目を集めています。脆弱性の核心:ページキャッシュへの侵入この問題の根本的な原因は、Linuxカーネルの暗号化サブシステム(AF_ALG)と、データを効率的に転送する仕組みであるsplice()システムコールの組み合わせにあります。通常、Linuxではファイルの読み込みを高速化するために、ディスク上のデータをメモリ(ページキャッシュ)に保持します。splice()はこのページキャッシュを直接参照してデータを転送しますが、「Copy Fail」ではこの仕組みを悪用し、本来読み取り専用であるはずの、ファイルに対応するメモリ領域を、書き込み可能な状態で暗号化処理のバッファとして扱わせてしまいます。特定の暗号化テンプレート(authencesn)が、処理中に作業用領域としてこのバッファの末尾4バイトを上書きしてしまう仕様になっていて、この「意図しない4バイトの書き込み」が、特権昇格のトリガーとなります。「Copy Fail」が過去の脆弱性と一線を画すのは、「確実性」と「隠密性」の高さにあります。成功率100%の安定性過去に有名になった「Dirty COW」などの脆弱性は、タイミングに依存するレースコンディション(競合状態)を利用するため、攻撃に失敗したりシステムをクラッシュさせたりすることがありました。しかし、今回のバグはロジックそのものの欠陥であるため、スクリプトを実行すれば確実に、かつ一瞬で攻撃が完了します。検知を逃れるステルス性この攻撃による書き込みはメモリ上のページキャッシュに対してのみ行われ、ディスク上のファイル自体は変更されません。そのため、ファイルのハッシュ値をチェックするような一般的な整合性確認ツールでは、改ざんを検知することが不可能です。しかし、システムがプログラムを実行する際はメモリ上のデータ(汚染されたページキャッシュ)を参照するため、攻撃者はroot権限を持つバイナリに不正なコードを「注入」した状態で実行できてしまいます。コンテナの壁を越える影響力ページキャッシュはホストOS全体で共有されているため、この脆弱性はコンテナ環境においても機能します。つまり、一つのコンテナ内で実行された攻撃が、ホストシステム全体や他のコンテナのセキュリティを破壊する「コンテナ脱出」の手段となり得るのです。修正と対策この深刻なバグの発見にはAI支援ツールが活用されました。研究者が「暗号化サブシステムとページキャッシュの相互作用」という特定の視点をAIに与えてスキャンした結果、10年近く潜んでいたこの論理的欠陥がわずか1時間ほどで特定されたとのことです。現在、この問題に対する修正パッチ(AF_ALGのAEAD処理をin-place方式からout-of-place方式に戻す)はすでに公開されており、主要なディストリビューションでの適用が進んでいます。管理者は速やかにカーネルを最新バージョンへアップデートすることが強く推奨されます。また、即時のアップデートが困難な場合の暫定措置として、問題のあるカーネルモジュール(algif_aead)を無効化することも有効な対策となります。algif_aeadがロードされているかどうかは、lsmod | grep algif_aeadで確認でき、rmmod algif_aeadでアンロードします(ただし場合によってはアンロードできない場合も)。次のようにdisable-algif-aead.confを設定することで、ロードを禁止することもできます。echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.confrmmod algif_aead 2>/dev/nullRedditでもこの問題は話題となっており、攻撃コードのシンプルさと成功率の高さが、プロフェッショナルたちに強い衝撃を与えています。