本プロジェクトは、CVE-2026-31431(別名 "Copy Fail")Linux カーネルのローカル権限昇格脆弱性を検出・緩和するための Bash スクリプト群を提供します。
a664bf3d603d 以降のパッチこの脆弱性は Linux カーネルの AF_ALG socket 実装に存在し、攻撃者は特定の authencesn バインド操作を構築することでローカル権限昇格を実現する可能性があります。
| ファイル | 用途 | 実行権限 |
|---|---|---|
check_cve_2026_31431.sh | 脆弱性の影響検出とリスク評価 | 一般ユーザーまたは root |
cve-2026-31431-mitigate.sh | 緩和措置の実行(モジュール無効化、seccomp 設定の生成) | root が必要 |
bash check_cve_2026_31431.sh
スクリプトは以下の項目を順にチェックします:
CONFIG_CRYPTO_USER_API_AEAD の状態algif_aead / af_alg モジュールのロード状態authencesn bind 検証(緩和済みかどうかの判定)最終的に総合リスクレベルを出力します:UNKNOWN / LOW / MEDIUM / HIGH。
注意:緩和スクリプトは root 権限で実行する必要があります。
sudo bash cve-2026-31431-mitigate.sh
緩和操作には以下が含まれます:
/etc/modprobe.d/disable-algif-aead.conf に書き込み、algif_aead モジュールのロードを禁止algif_aead がロード済みの場合、アンロードを試行(rmmod)depmod -a を実行してモジュール依存関係を更新sudo bash cve-2026-31431-mitigate.sh --verify-only # 検証のみ、設定は書き込まない
sudo bash cve-2026-31431-mitigate.sh --write-seccomp # Docker seccomp 設定を追加生成
sudo bash cve-2026-31431-mitigate.sh --seccomp-path /path # seccomp 出力パスを指定
緩和が有効かどうかを判断するゴールドスタンダード:authencesn bind の失敗。
検出スクリプトの「チェック項目5:緩和検証(bind authencesn)」では以下を実行します:
import socket
s = socket.socket(38, 5, 0) # AF_ALG
s.bind(("aead", "authencesn(hmac(sha256),cbc(aes))"))
CONFIG_CRYPTO_USER_API_AEAD=y(カーネルに静的コンパイル)の場合、モジュール無効化は通常効果がなく、カーネルをアップグレードするしかありません。algif_aead が使用中の場合は rmmod によるアンロードが失敗する可能性があります。メンテナンスウィンドウで再起動後に検証することを推奨します。socket(AF_ALG) 呼び出しをブロックすることを推奨します。a664bf3d603d 以降のパッチを含む公式カーネルバージョンにアップグレードしてください。スクリプトは以下の環境でテスト済みです:
grep, sed, lsmod, modprobe, rmmod, depmod)python3 または python(AF_ALG socket 検証用)MIT License
本プロジェクトが提供するスクリプトは、セキュリティ検出と一時的な緩和のみを目的としており、公式カーネルパッチのアップグレードに代わるものではありません。本スクリプトを使用する前に、その操作(カーネルモジュールの無効化など)を十分に理解し、テスト環境で事前に検証してください。作者は、本ツールの使用によって生じたいかなる直接的・間接的損害についても責任を負いません。