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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
copyfail-mitigation — Ansibleプレイブックで、Linuxカーネルの`algif_aead`モジュールにおけるローカル権限昇格の脆弱性CVE-2026-31431(「Copy Fail」)を監査・緩和します。この脆弱性は2017年以降、主要なすべてのディストリビューションに影響します。 | Kitploit
ツール/GitHubGitHub/mahradbt/copyfail-mitigation
クラウドインフラストラクチャセキュリティ脆弱性分析構成監査DevSecOpsインシデントレスポンス
GitHubmahradbt/copyfail-mitigation

copyfail-mitigation

Ansibleプレイブックで、Linuxカーネルの`algif_aead`モジュールにおけるローカル権限昇格の脆弱性CVE-2026-31431(「Copy Fail」)を監査・緩和します。この脆弱性は2017年以降、主要なすべてのディストリビューションに影響します。

リポジトリを見る
244ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

CVE-2026-31431 — Copy Fail

Linuxカーネル algif_aead 権限昇格 / メモリ破壊
Ansibleベースの監査・緩和プレイブック — 本番環境ですぐに実行可能


概要

Copy Fail(CVE-2026-31431)は、Linuxカーネルの algif_aead モジュール — AF_ALG暗号ソケットファミリーのユーザー空間向けAEADインターフェース — における脆弱性です。
AEADリクエストハンドラー内のカーネルの copy_*user パスに存在する欠陥により、 ローカルの非特権ユーザーが不正なソケットリクエストを細工することで、カーネルメモリを破壊したり権限を昇格したりすることが可能になります。

フィールド詳細
CVE IDCVE-2026-31431
ニックネームCopy Fail
コンポーネントLinuxカーネル — algif_aead(net/socket.c、crypto/algif_aead.c)
攻撃ベクトルローカル
必要な権限低(非特権ユーザー)
影響カーネルメモリ破壊 / ローカル権限昇格
パッチ適用状況アップストリームカーネルパッチ進行中 — 各ディストリビューションベンダーに確認してください

影響を受けるシステム

algif_aead がロードされておらず、オンデマンドでロードするユーザー空間ツールもない場合、 システムは即時のリスクはありません(監査ステップ1を参照)。


影響の概要


リポジトリ構成

root@kitploit:~
.
├── audit_algif_aead.yml      # ステップ1 — 監査: ホストごとの露出を検出
├── mitigate_copyfail.yml     # ステップ2 — 緩和: モジュールのアンロード + ブラックリスト登録
└── README.md                 # このドキュメント

前提条件

  • コントロールノードに Ansible ≥ 2.14
  • community.general コレクション(ansible-galaxy collection install community.general)
  • ターゲットホストへのSSHアクセス + become: true(sudo)
  • ターゲットに lsof がインストールされていること(通常はデフォルトで存在)

インベントリのセットアップ

inventory.ini はgitignore対象です — ローカルに留まり、リポジトリには決して到達しません。 inventory.ini.example は、全員が開始時に使用するコミット済みテンプレートです。

root@kitploit:~
# クローンと準備
git clone https://github.com/your-org/copy-fail-CVE-2026-31431.git
cd copy-fail-CVE-2026-31431
cp inventory.ini.example inventory.ini

# inventory.ini を実際のホストで編集してから実行:
ansible-playbook -i inventory.ini audit_algif_aead.yml

インフラストラクチャデータの漏洩を防ぐため、以下のパスはgitignore対象です:


ステップ1 — 監査

何かに触れる前に監査プレイブックを実行してください。ホストごとの証拠を収集し、 ローカルと各ターゲットの両方にレポートを書き込みます。

root@kitploit:~
ansible-playbook -i inventory.ini audit_algif_aead.yml

レポートは ./copyfail_reports/<hostname>_audit.txt に取得されます。

監査でチェックする内容

判定の解釈

条件推奨アクション
モジュールがロードされていない即時のリスクは低い — カーネルパッチを監視
モジュールがロード済み、AF_ALGソケットユーザーなし緩和策の適用は安全
モジュールがロード済みかつAF_ALGユーザーがアクティブ緩和策を適用する前にプロセスを確認
緩和ファイルがすでに存在する緩和策は以前に適用済み — 検証

ステップ2 — 緩和

最初に監査を実行してください。 緩和プレイブックは冪等に実行しても安全ですが、 監査によって証跡が得られます。

root@kitploit:~
ansible-playbook -i inventory.ini mitigate_copyfail.yml

特定のホストをスキップする場合(例: kcapi依存が確認されているホスト):

root@kitploit:~
ansible-playbook -i inventory.ini mitigate_copyfail.yml \
  -e '{"skip_hosts": ["db-prod-01", "hsm-node-02"]}'

緩和策の内容

  1. install algif_aead /bin/false を含む /etc/modprobe.d/disable-algif.conf を作成
  2. 実行中のカーネルから algif_aead モジュールをアンロード(初期保護に再起動は不要)
  3. initramfsを更新してブラックリストが再起動後も維持されるようにする(Debian/Ubuntuでは update-initramfs、RHELでは dracut --force)
  4. タイムスタンプ付きログを /var/backup/copyfail_mitigation/mitigation.log に書き込む

メモリからモジュールを削除するために再起動は不要です。
ブラックリストが有効になることを確認し、緩和後のクリーンな状態を確立するために 再起動を推奨します。


検証

プレイブック完了後、任意のターゲットホストで検証します:

root@kitploit:~
# モジュールが表示されないこと
lsmod | grep algif_aead

# ブラックリストファイルが存在し、install行が含まれていること
cat /etc/modprobe.d/disable-algif.conf

# 手動ロードが拒否されること
sudo modprobe algif_aead   # 期待: FATAL: Module algif_aead not found or refused

元に戻す(カーネルパッチ適用後)

ベンダーがパッチ適用済みカーネルをリリースし、それを適用したら:

root@kitploit:~
# 各ホストで — ブラックリストを削除
sudo rm /etc/modprobe.d/disable-algif.conf

# initramfsを再構築
sudo update-initramfs -u        # Debian / Ubuntu
sudo dracut --force              # RHEL / CentOS / Amazon Linux

# パッチ適用済みカーネルで再起動
sudo reboot

参考情報

  • CERT Europa Advisory 2026-005
  • Ubuntu Security Notice — Copy Fail
  • xint.io — Copy Fail across Linux distributions
  • Linuxカーネル algif_aead ソース

ライセンス

MIT License の下で公開されています。
自己責任で使用してください。本番システムに適用する前に、必ずステージング環境で検証してください。


コミュニティによって保守されています。PRと問題報告を歓迎します。

ツールをダウンロード
ディストリビューション影響を受けるバージョンステータス
Ubuntu 22.04 / 24.04パッチ適用済みリリース未満のカーネルパッチ保留中 — Ubuntu USNを確認
Debian 12(Bookworm)パッチ適用済みリリース未満のカーネルパッチ保留中
RHEL / AlmaLinux / Rocky 8 & 9パッチ適用済みリリース未満のカーネルパッチ保留中
Amazon Linux 2 / 2023パッチ適用済みリリース未満のカーネルパッチ保留中
汎用アップストリームalgif_aead が組み込まれている、または自動ロードされるモジュールが存在する場合は脆弱
サブシステムこのCVEの影響を受けるか?緩和策の影響を受けるか?
dm-crypt / LUKSいいえいいえ
kTLSいいえいいえ
IPsec / StrongSwanいいえいいえ
OpenSSL(デフォルトビルド)いいえいいえ
GnuTLS / NSSいいえいいえ
OpenSSHいいえいいえ
OpenSSL afalgエンジン可能性ありはい — 適用前に確認が必要
kcapi-enc / kcapi-dgst ツールはいはい
Gitignore対象パス理由
inventory.ini実際のホスト名 / IP
inventories/ローカルのインベントリディレクトリ
copyfail_reports/監査出力にカーネルバージョン、プロセスリストが含まれる
.vault_passAnsible Vaultパスワードファイル
*.retryAnsibleリトライアーティファクト
チェックコマンド判定
カーネルバージョンuname -r情報提供用
モジュールがロードされているか?lsmod | grep algif_aeadロード済み = 露出リスク
アクティブなAF_ALGソケットlsof | grep AF_ALGユーザーが見つかった = 確認必須
OpenSSL afalgエンジンopenssl engine | grep afalgアクティブ = 影響を確認
kcapiツールの存在which kcapi-*存在する = 潜在的なユーザー
緩和策がすでに適用されているかstat /etc/modprobe.d/disable-algif.conf存在する = すでに緩和済み