
脆弱性 CVE-2026-31431 ("Copy Fail") に対する自動検出・緩和ツールです。これはLinuxカーネルの algif_aead モジュール(AF_ALG インターフェース)におけるローカル特権昇格(LPE)です。
⚠️ 範囲: このプロジェクトは純粋に防御的です。エクスプロイトコードを含まず、生成も参照もしません。目的は、セキュリティチームやシステム管理者が (1) 露出したホストを特定し、(2) 修正済みカーネルがインストールされるまで推奨される緩和策(
algif_aeadモジュールのブロック)を適用できるようにすることです。
検出 (--check)
uname -r)algif_aead モジュールがロードされているか、ロード可能かを確認しますapt/dpkg, rpm, zypper) を参照し、パッチ/CVEへの言及を探します/etc/os-release からディストリビューションを特定しますVULNERÁVEL、MITIGADO(モジュールブロック済み)、CORRIGIDO(カーネルにパッチが含まれている)、または INDETERMINADO緩和 (--mitigate, root が必要)
/etc/modprobe.d/disable-algif-aead-cve-2026-31431.conf を作成し、install algif_aead /bin/false と blacklist algif_aead を指定しますrmmod)レポート (--report json|text)
# Apenas diagnosticar (não requer root)
sudo ./bin/copyfail-guard --check
# Diagnosticar e aplicar mitigação temporária
sudo ./bin/copyfail-guard --mitigate
# Saída em JSON para integração com outras ferramentas
sudo ./bin/copyfail-guard --check --report json
要件: Python 3.8+、Bash。rootアクセスは --mitigate のみ必要です(チェックは昇格された権限なしでも動作しますが、情報は限定されます)。
algif_aead のブロック)は一時的です。攻撃対象領域を減らしますが、カーネルの更新の代わりにはなりません。修正済みカーネルパッケージ(コミット a664bf3d603d または同等のバックポートを含む)がお使いのディストリビューションで利用可能になり次第、適用してシステムを再起動する必要があります。algif_aead に依存する環境(ユーザースペース経由でAEADに AF_ALG を直接使用する場合)では、緩和策によって機能に影響が出る可能性があります。dm-crypt/LUKS、kTLS、IPsec、SSH、および標準ビルドのOpenSSL/GnuTLSは通常 AF_ALG に依存しておらず、影響を受けません。copyfail-guard/
├── bin/
│ └── copyfail-guard # entrypoint (bash) -> chama o módulo Python
├── copyfail_guard/
│ ├── __init__.py
│ ├── detect.py # lógica de detecção
│ ├── mitigate.py # lógica de mitigação
│ └── report.py # formatação de saída (texto/JSON)
├── tests/
│ └── test_detect.py
├── LICENSE
└── README.md
MIT — LICENSE を参照してください。