
CVE-2026-31431の概念実証エクスプロイト。authencesnのロジックバグを介したLinuxローカル権限昇格であり、認可されたラボ検証用のARM64バリアントを備えています。
Copy Failは、Theori/XintによってCVE-2026-31431として公開されたLinuxのローカル権限昇格です。プロジェクトページでは、AF_ALGとsplice()を通じて到達可能なauthescesnのロジックバグについて説明されており、setuidバイナリに対する小さなページキャッシュ書き込みを生成します。影響を受けるシステムでは、権限のないローカルユーザーがrootになることができます。
このリポジトリは、上流の概念実証のコピーを保持し、Ubuntu 25.10 ARMでテストされたARM64バリアントを追加します。

| ファイル | 目的 |
|---|---|
copy_fail_exp.py | 元の上流PoC。ソースURLはファイルヘッダーに記載されています。 |
copy_fail_exp_arm64.py | ARM64に適合したPoC。Ubuntu 25.10 ARMでテスト済み、動作確認済み。 |
これらのスクリプトは、使い捨てのラボシステムでの認可された検証のみを目的としています。一般的な脆弱性スキャナーではありません。/usr/bin/suに対してCopy Failの悪用パスを試みます。ホストが脆弱で環境が互換性がある場合、結果は実際のrootシェルになります。
⚡ 元のPoCを使用して、互換性のあるLinuxシステムで公開された悪用パスを検証します。ARM64バリアントを使用して、埋め込まれたペイロードが上流のスクリプトと異なるARMベースのLinuxホストをテストします。
実行が失敗しても、ホストがパッチ適用済みであることを証明するものではありません。カーネルバージョン、ディストリビューションのバックポート、アーキテクチャ、ローカルのハードニング、コンテナポリシー、およびランタイム環境はすべて動作に影響を与える可能性があります。
まずパッチを適用してください。copy.failによると、システムはメインラインコミットa664bf3d603dを含むディストリビューションカーネルに更新し、そのカーネルに再起動して実行中のバージョンを確認する必要があります。
カーネルにパッチを適用できるまで、algif_aeadモジュールを無効にします:
sudo sh -c 'printf "%s\n" "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf'
sudo rmmod algif_aead 2>/dev/null || true
コンテナ、CIランナー、サンドボックス、共有開発者ホストなどの信頼できないワークロードについては、seccompポリシーでAF_ALGソケットの作成もブロックしてください。
copy.failの緩和策ガイダンスでは、algif_aeadを無効にしても、一般的なdm-crypt/LUKS、kTLS、IPsec/XFRM、OpenSSL/GnuTLS/NSS、SSH、またはカーネルキーリング暗号の使用には影響しないはずです。AF_ALGソケットを使用するように明示的に構成されたソフトウェアには影響する可能性があります。