Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
copyfail-check — アーカイブ済み。codesource/cve-check に移動しました。Linux システム上で CVE-2026-31431(Copy Fail)への露出と緩和策を検出するシェルスクリプト:カーネルチェック、モジュール状態、起動パラメータ、AF_ALG の到達可能性、ディストリビューションのパッチ状況。 | Kitploit
ツール/GitHubGitHub/codesource/copyfail-check
脆弱性スキャナー脆弱性分析構成監査DevSecOpsインシデントレスポンス
GitHubcodesource/copyfail-check

copyfail-check

アーカイブ済み。codesource/cve-check に移動しました。Linux システム上で CVE-2026-31431(Copy Fail)への露出と緩和策を検出するシェルスクリプト:カーネルチェック、モジュール状態、起動パラメータ、AF_ALG の到達可能性、ディストリビューションのパッチ状況。

リポジトリを見る
2465日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

copyfail-check

[!IMPORTANT] このリポジトリはアーカイブされています。 Copy Fail チェックは現在 cve-check に移行しており、他の脆弱性チェックや、修復を適用するオプションの --fix モードとともに提供されています。このチェックについては checks/CVE-2026-31431 を参照してください。

curl -fsSL https://raw.githubusercontent.com/codesource/cve-check/main/cve-check.sh | sudo bash -s -- CVE-2026-31431

以下の check_copyfail.sh は引き続き動作しますが、更新は行われません。

Linux カーネルの脆弱性を検出し、緩和策の状態を確認し、修復を案内するシェルスクリプト — ローカルで、または SSH、Ansible、pssh を介してフリート全体で実行できるように設計されています。


CVE-2026-31431 — Copy Fail

Copy Fail は、Linux カーネルの algif_aead 暗号モジュールにおける高深刻度のローカル権限昇格 (LPE) 脆弱性です。2017 年に導入されたロジックの欠陥により、非特権のローカルユーザーが、読み取り可能な任意のファイルのページキャッシュに制御された 4 バイトを書き込むことができます — これだけで setuid バイナリを上書きし、root を取得するのに十分です。動作する 732 バイトの Python による概念実証 (PoC) が存在し、公開されています。

CVECVE-2026-31431
CVSS7.8 (High)
公開日2026年4月29日
影響範囲Linux カーネル 4.13 – 6.x (2017–2026)
ディストリビューションUbuntu、RHEL、SUSE、Debian、Amazon Linux、およびその他大多数
リモートからの悪用不可 — ローカルアクセスが必要
パッチの提供状況一部 — お使いのディストリビューションのアドバイザリを確認してください

スクリプトがチェックする内容

チェック項目root が必要か?
カーネルバージョン — 影響範囲 (≥ 4.13) に該当するか不要
algif_aead モジュール — ロード済み、ディスク上に存在、またはブラックリスト登録済みか不要
ブートパラメータ — initcall_blacklist=algif_aead_init の有無不要
AF_ALG ソケットへの到達性 — 悪用経路が開いているか不要
SELinux の状態不要
AppArmor の状態必要 — root なしでは部分的な出力のみ
ディストリビューションのパッチ状況 — カーネル changelog に CVE が記載されているか不要

スクリプトの実行に root は不要 です — AppArmor の状態を除くすべてのチェックは一般ユーザーで動作します。完全な結果を得るには sudo での実行を推奨します。また、curl からパイプする場合はより安全な選択肢です。

互換性

このスクリプトは、すべての主要な Linux ディストリビューションで動作するように設計されています:

ディストリビューションファミリーパッケージマネージャのチェックモジュールパス
Debian、Ubuntudpkg + カーネル changelog/lib/modules/
RHEL、CentOS、Amazon Linuxrpm (kernel、kernel-rt)/lib/modules/
SUSE、openSUSErpm (kernel-default)/lib/modules/
Arch Linuxpacman + アドバイザリリンク/usr/lib/modules/
Fedorarpm + /usr/lib/modules/ フォールバック/usr/lib/modules/

bash が必要です — このスクリプトは bash 固有の構文を使用しているため、sh、ash、dash では動作しません。Alpine Linux (デフォルトで busybox ash を使用) では、まず bash をインストールしてください:

apk add bash

クイック実行 (単一サーバー)

root なし — ほとんどのチェックが動作します:

curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | bash

root 権限の場合 — AppArmor のステータスを含む完全な結果:

curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | sudo bash

ヒント: 本番環境では特定のコミットSHAに固定することで、スクリプトが勝手に変更されることを防げます:

curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/COMMIT_SHA/check_copyfail.sh | sudo bash

まずダウンロードして内容を確認する(推奨)

curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh -o check_copyfail.sh
less check_copyfail.sh
bash check_copyfail.sh        # without root
sudo bash check_copyfail.sh   # full results

フリート全体で実行する

SSH ループ

for HOST in server1 server2 server3; do
  echo "=== $HOST ==="
  ssh "$HOST" "curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | sudo bash"
done

Ansible

- name: Check Copy Fail vulnerability
  hosts: all
  tasks:
    - name: Run check script
      script: check_copyfail.sh
      become: yes

並列 SSH

pssh -h hosts.txt -i \
  "curl -fsSL https://raw.githubusercontent.com/codesource/copyfail-check/main/check_copyfail.sh | sudo bash"

出力例

============================================================
  Copy Fail CVE-2026-31431 – Vulnerability Check
============================================================

>>> Kernel Version
  [INFO]  Running kernel: 5.15.0-107-generic
  [WARN]  Kernel 5.15.0-107-generic is in the affected range (4.13 – 6.x).

>>> algif_aead Module Status
  [WARN]  algif_aead module is currently LOADED — system is exploitable.
  [WARN]  Module file found at: /lib/modules/5.15.0-107-generic/kernel/crypto/algif_aead.ko
  [WARN]  algif_aead is NOT blacklisted — it can be loaded on demand.

>>> Kernel Boot Parameter Mitigation
  [WARN]  initcall_blacklist=algif_aead_init is NOT set in boot parameters.

>>> AF_ALG Socket Reachability
  [WARN]  AF_ALG sockets are reachable by this user — exploit path is open.

>>> Mandatory Access Control (SELinux / AppArmor)
  [WARN]  Neither SELinux nor AppArmor tools detected — no MAC layer present.

>>> Distribution Patch Status
  [WARN]  Could not confirm CVE-2026-31431 is listed as fixed in running kernel's changelog.

============================================================
  SUMMARY
============================================================
  !! LIKELY VULNERABLE — No confirmed mitigation detected.

  Recommended actions (in order of preference):
  1. Apply your distro's kernel update as soon as available.
  2. Add to /etc/modprobe.d/copyfail.conf:
       blacklist algif_aead
       install algif_aead /bin/true
     Then run: sudo depmod -a && sudo update-initramfs -u
  3. Add to kernel boot parameters (grub):
       initcall_blacklist=algif_aead_init
  4. Immediately unload the module if loaded:
       sudo rmmod algif_aead
============================================================

緩和策

以下の優先順位で適用してください:

1. カーネルにパッチを適用する (最善の修正)

# Debian / Ubuntu
sudo apt update && sudo apt upgrade linux-image-$(uname -r)

# RHEL / CentOS / Amazon Linux
sudo yum update kernel

# SUSE
sudo zypper update kernel-default

2. モジュールをブラックリストに登録する (即時、永続的)

sudo tee /etc/modprobe.d/copyfail.conf << 'EOF'
blacklist algif_aead
install algif_aead /bin/true
EOF

sudo depmod -a

# Debian/Ubuntu
sudo update-initramfs -u

# RHEL/Fedora
sudo dracut -f

3. モジュールを今すぐアンロードする (即時、再起動後は永続しない)

sudo rmmod algif_aead

4. カーネル起動パラメータ (ブラックリストの代替手段)

GRUB 設定に initcall_blacklist=algif_aead_init を追加して再起動します。


参考資料

  • copy.fail — 公式脆弱性ページ
  • Xint/Theori の解説記事
  • NVD — CVE-2026-31431
  • CERT-EU アドバイザリ 2026-005
  • Microsoft Security Blog
  • The Hacker News

ライセンス

MIT — 自由に使用可能、いかなる保証も伴いません。スクリプトを root で実行する前に必ず内容を確認してください。

ツールをダウンロード