
CVE-2026-31431(Copy Fail)への曝露を検出し、必要に応じて脆弱なalgif_aeadカーネルモジュールを無効化することで緩和し、判定結果とパッチ適用状況を提供します。
CVE-2026-31431(Copy Fail) への曝露を検出し、必要に応じて影響を受けるシステム上で algif_aead カーネルモジュールを無効化することでホストレベルの緩和策を適用します。
copyfail-check.sh — カーネルのパッチ適用状況、実行時モジュール曝露、緩和状態をチェックします。--mitigate による任意の自動緩和策。NOT AFFECTED、PATCHED、NOT EXPLOITABLE、MITIGATED、MITIGATED (REBOOT PENDING)、または AFFECTED。2017年に導入されたインプレース AEAD 最適化(コミット 72548b093ee3、カーネル 4.14)により、権限のないローカル攻撃者が読み取り可能な任意のファイルに対して制御されたページキャッシュ書き込みプリミティブを取得でき、root への権限昇格が可能になります。コンテナ環境では、同じプリミティブがコンテナエスケープを可能にする可能性があります。
4.14 より前のカーネルは影響を受けません。 これには Ubuntu の 3.13 カーネル(Trusty 14.04 GA)と 4.4 カーネル(Xenial 16.04 GA、Trusty HWE)が含まれます — これらは脆弱なコミットより前のものです。
| 役割 | コミット |
|---|---|
| 脆弱性の導入 | 72548b093ee3(カーネル 4.14、2017年) |
| 修正 — メインライン / カーネル 7.0 | a664bf3d603d |
各ディストリビューションは独自のコミット識別子でパッチをバックポートします。このスクリプトはパッケージのチェンジログ内で CVE ID を検索します。これはバックポートされたカーネルに対してアップストリームのハッシュよりも信頼性が高い方法です。
Ubuntu セキュリティチームは、/etc/modprobe.d/disable-algif_aead.conf に install algif_aead /bin/false を書き込む kmod パッケージの更新を配布しています。このスクリプトは同じ内容で同じファイルを作成し、そのアプローチと完全に互換性があります。公式パッケージの更新(sudo apt install --only-upgrade kmod)を適用することが Ubuntu での推奨パスです。このスクリプトは、非 Ubuntu システムまたは更新前のトリアージに対して同等のカバレッジを提供します。
chmod +x copyfail-check.sh
sudo ./copyfail-check.sh # 検出のみ
sudo ./copyfail-check.sh --mitigate # 検出 + 影響がある場合は緩和策を適用
main からスクリプトを直接ストリーミングして実行します。bash -s -- 形式は -- 以降の引数をスクリプト自体に転送するため、--mitigate は bash ではなくスクリプトに渡されます。
# 検出のみ
curl -fsSL https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/main/copyfail-check.sh | sudo bash
# 検出 + 緩和策
curl -fsSL https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/main/copyfail-check.sh | sudo bash -s -- --mitigate
wget での同等コマンド:
wget -qO- https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/main/copyfail-check.sh | sudo bash
wget -qO- https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/main/copyfail-check.sh | sudo bash -s -- --mitigate
セキュリティ上の注意。 リモートスクリプトを特権シェルに直接パイプすることは、 実行時に URL が提供する内容を信頼することになります。一度きりの トリアージでは許容できますが、繰り返し使用や本番環境での使用では、特定のコミットに固定し、 最初にスクリプトを検査してください:
curl -fsSL https://raw.githubusercontent.com/Webhosting4U/Copy-Fail_Detect_and_mitigate_CVE-2026-31431/<commit-sha>/copyfail-check.sh -o copyfail-check.sh less copyfail-check.sh sudo bash copyfail-check.sh --mitigate
NOT AFFECTED として即座に終了/sys/kernel/livepatch/ 配下のロード済みカーネルライブパッチ、および kpatch list と canonical-livepatch statusubuntu-security-status --cves、dnf updateinfo list cves、zypper patch-checkalgif_aead モジュールの利用可能性(modinfo)とロード状態(lsmod)/etc/modprobe.d/ 配下の既存の modprobe ベースのブロックルール — 同等の中和策(install … /bin/false|/bin/true|/sbin/nologin)と を受け入れます; ブロックが Ubuntu kmod パッケージ由来かどうかを識別します影響を受けるシステムで --mitigate を使用すると、スクリプトは以下を実行します:
install algif_aead /bin/false を含む /etc/modprobe.d/disable-algif_aead.conf を作成algif_aead のアンロードを試行ファイル名 /etc/modprobe.d/disable-algif_aead.conf は公式の Ubuntu kmod パッケージ更新によって書き込まれるファイルと一致するため、両方のアプローチは交換可能で互換性があります。
algif_aead の無効化は一般的な暗号パスに対して安全です: dm-crypt、LUKS、kTLS、IPsec、デフォルトの OpenSSL/GnuTLS 使用、SSH、カーネルキーリング暗号は影響を受けません。afalg エンジンを明示的にロードするアプリケーションはハードウェアアクセラレーションを失います。ソフトウェア暗号にフォールバックするはずですが、フォールバックをトリガーするには再起動が必要な場合があります。| 日付 | イベント |
|---|---|
| 2026-03-23 | Linux カーネルセキュリティチームに報告 |
| 2026-04-01 | メインラインに修正がコミット |
| 2026-04-29 | 公開開示 |
sudo または root シェル)uname、modinfo、lsmod、awk、grepdpkg — Debian/Ubuntu チェンジログスキャンと kmod バージョンチェックlsb_release — kmod ヒント用の Ubuntu リリース検出rpm — RHEL/Fedora チェンジログスキャンkpatch / canonical-livepatch と /sys/kernel/livepatch/ — ライブパッチ検出ubuntu-security-status、dnf updateinfo、 — ディストリビューションの CVE ツール.
├── copyfail-check.sh
└── README.md
| プロパティ | 値 |
|---|
| CVE ID | CVE-2026-31431 |
| 深刻度 | HIGH(CVSS 3.1: 7.8) |
| コンポーネント | algif_aead — カーネル AF_ALG AEAD 暗号インターフェース |
| 攻撃タイプ | ローカル権限昇格; コンテナエスケープ(公開 PoC はまだありません) |
| 影響を受けるカーネル | 4.14 以降(下記参照) |
| 公開日 | 2026-04-29 |
| 修正 — stable 6.18.x | fafe0fa2995a |
| 修正 — stable 6.19.x | ce42ee423e58 |
| リリース | linux カーネル | kmod 緩和策(修正バージョン) |
|---|
| Trusty 14.04 | 4.15 カーネルのみ; 3.13 と 4.4 は影響なし | 15-0ubuntu7+esm1 |
| Xenial 16.04 | 4.15 カーネルのみ; 4.4 は影響なし | 22-1ubuntu5.2+esm1 |
| Bionic 18.04 | 影響あり | 24-1ubuntu3.5+esm1 |
| Focal 20.04 | 影響あり | 27-1ubuntu2.1+esm1 |
| Jammy 22.04 | 影響あり | 29-1ubuntu1.1 |
| Noble 24.04 | 影響あり | 31+20240202-2ubuntu7.2 |
| Questing 25.10 | 影響あり | 34.2-2ubuntu1.1 |
| Resolute 26.04 | 影響なし | 更新不要 |
blacklist/proc/modules(列 3)のモジュール参照カウントによるアクティブな AF_ALG 使用状況; また /etc/ssl または /etc/pki/tls 内の OpenSSL afalg エンジン参照もフラグします| 判定 | 意味 |
|---|
NOT AFFECTED | カーネルが 4.14 より前、またはパッチ適用済みでモジュールが利用不可 |
PATCHED | カーネルのチェンジログ/ツールが修正の存在を確認 |
NOT EXPLOITABLE | このシステムではモジュールが利用不可 |
MITIGATED | modprobe.d 経由でモジュールがブロック済み; カーネルは未パッチ — 可能な場合は更新 |
MITIGATED (REBOOT PENDING) | ブロックは書き込まれたがモジュールがまだロード中; rmmod でアンロードするか再起動 |
AFFECTED | カーネルが脆弱な範囲にあり、algif_aead が利用可能 |
zypper patch-check