Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2026-31431-ansible — Ansibleプレイブックで、Debian/Ubuntu/RHELフリート全体にわたってCVE-2026-31431(Copy Fail)のカーネルコマンドライン緩和策を検出・適用します。読み取り専用の検出と冪等な適用に対応しています。 | Kitploit
ツール/GitHubGitHub/aestechno/cve-2026-31431-ansible
クラウドインフラストラクチャセキュリティ脆弱性スキャナー構成監査DevSecOps
GitHubaestechno/cve-2026-31431-ansible

cve-2026-31431-ansible

Ansibleプレイブックで、Debian/Ubuntu/RHELフリート全体にわたってCVE-2026-31431(Copy Fail)のカーネルコマンドライン緩和策を検出・適用します。読み取り専用の検出と冪等な適用に対応しています。

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
33ヶ月前未レビュー

CVE-2026-31431(「Copy Fail」)— Ansible 緩和策レシピ

CI

CVE-2026-31431(「Copy Fail」)に対するカーネルコマンドラインの緩和策を、Ansible を使用して Debian / Ubuntu / RHEL 系のフリート全体で検出・適用します。

この CVE は、Linux カーネルの algif_aead AF_ALG インターフェースにおけるローカル権限昇格の脆弱性です。www-data、mysql などのサービスアカウントや、RCE された Web アプリ内のプロセスを含む、権限のないローカルユーザーは、わずか数回の syscall で root に昇格できます。このバグは、2017 年以降に出荷されたすべての主要ディストリビューションに影響します。

このレシピが行うこと

  • 検出 — どのホストに緩和策が適用されていないかを検出します。デフォルトでは読み取り専用です。
  • 適用 — -e apply_mitigation=true を指定して実行すると、汎用の緩和策(カーネルコマンドラインに initcall_blacklist=algif_aead_init を追加)を適用します。
  • 自動再起動は行いません。 再起動はオペレーターの判断に委ねられます。

カーネルコマンドラインのブラックリストは、組み込み構成(RHEL 系)とモジュール構成(Debian/Ubuntu)の両方で機能します。これは、よく引用される modprobe blacklist algif_aead 回避策では対応できません。

緩和策の仕組み

algif_aead_init() は、起動時に暗号ソケットサブシステムへ aead AF_ALG アルゴリズムを登録するカーネル関数です。コマンドラインパラメータ initcall_blacklist=algif_aead_init は、カーネルにその initcall をスキップするよう指示します。脆弱なコードは依然としてカーネルバイナリ内に存在しますが、socket(AF_ALG, ..., "aead") は ENOENT を返すため、エクスプロイトの最初の syscall が失敗します。到達可能なサーフェスがなければ、権限昇格は発生しません。

ベンダーがパッチ適用済みカーネルを出荷し、そのカーネルで再起動した後は、緩和策は不要になり、削除できます。

クイックスタート

root@kitploit:~
# 1. 検出(読み取り専用)— ホストごとのステータスレポートを生成
ansible-playbook -i inventory check_cve_2026_31431.yml

# 2. まず単一ホストに緩和策をステージング(自動再起動なし)
ansible-playbook -i inventory --limit <ip-or-host> \
  -e apply_mitigation=true check_cve_2026_31431.yml

# 3. 通常の仕組みでそのホストを再起動

# 4. 再検出し、「Mitigation active: yes」を確認

# 5. バッチ単位で残りのフリートに展開

脆弱なホストのレポートは次のようになります:

root@kitploit:~
═══════════════════════════════════════════
Host:               192.168.1.42
Distro:             Ubuntu 24.04
Kernel:             6.8.0-60-generic
Mitigation active:  no
Mitigation staged:  no
═══════════════════════════════════════════
⚠️  192.168.1.42: CVE-2026-31431 mitigation is NOT active.

パッチ適用済みカーネル出荷後の元に戻す方法

このレシピの対象外です。手動のワンライナー:

root@kitploit:~
# Debian / Ubuntu
sudo sed -i 's/ initcall_blacklist=algif_aead_init//' /etc/default/grub
sudo update-grub
sudo reboot

# RHEL 系
sudo grubby --update-kernel=ALL --remove-args="initcall_blacklist=algif_aead_init"
sudo reboot

失敗しない動作

検出パスは厳密に読み取り専用です(uname、/proc/cmdline の読み込み、/etc/default/grub の読み込み、grubby --info=ALL)。プローブには failed_when: false を使用しているため、予期しない出力でもプレイが中断されることはありません。ignore_unreachable: true により、到達できないホストは実行を失敗させる代わりに、明確な「UNREACHABLE — treat as VULNERABLE」警告が表示されます。

適用パスは block/rescue でラップされているため、単一の不良ホストが残りの処理を止めることはありません。grub 編集は冪等であり、mitigation_staged でゲートされているため、再実行は no-op になります。

テスト

root@kitploit:~
bash tests/run-checks.sh all

ステージ:lint(yamllint + ansible-lint)→ syntax(ansible-playbook --syntax-check)→ dry-run(-c local で localhost に対して --check モードでプレイブックを実行。検出パスと適用パスの両方)。同じスクリプトが、GitHub Actions マトリックスで debian:12、ubuntu:22.04、ubuntu:24.04、almalinux:9 コンテナに対して、すべての push と pull request で呼び出されます。

dry-run が検証しないこと:

  • grub を変更したり、update-grub を実行したり、再起動をトリガーしたりしません。
  • CI コンテナ内の /proc/cmdline は、コンテナではなくランナーホストの cmdline を表示するため、CI 出力の mitigation_active は意味がありません。CI はプレイブックがクリーンに実行されることを証明するだけで、ホストが緩和されていることを証明するものではありません。

詳細は tests/README.md を参照してください。

情報源

  • Help Net Security — CVE-2026-31431
  • CloudLinux — mitigation & fixed kernel versions
  • Ubuntu — CVE-2026-31431
  • Debian Security Tracker — CVE-2026-31431
  • Tenable FAQ — Copy Fail
  • CERT-EU SA 2026-005

クレジット

脆弱性は Taeyang Lee(Theori) によって発見され、Xint Code Research Team によって完全なエクスプロイトチェーンに武器化されました。セキュリティコミュニティの注目を集めた功績は彼らにあります。このレシピは、彼らが推奨した緩和策を自動化するだけです。

ライセンス

Beerware。LICENSE を参照してください。要約:これは自由に使って構いません。もし会うことがあれば、ビールを一杯おごってください。

メンテナー

AESTECHNO — Hugues Orgitello — エレクトロニクス設計ハウス、フランス、モンペリエ。

ツールをダウンロード