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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
copy-fail-fix — Per-distro mitigation scripts for CVE-2026-31431 ("Copy Fail") Linux kernel LPE. | Kitploit
ツール/GitHubGitHub/bryanvine/copy-fail-fix
脆弱性分析スクリプトと自動化構成監査
GitHubbryanvine/copy-fail-fix

copy-fail-fix

Per-distro mitigation scripts for CVE-2026-31431 ("Copy Fail") Linux kernel LPE.

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

人気

すべて見る →

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

すべてのツールを探索

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

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

copy-fail-fix

CVE-2026-31431(「Copy Fail」) 向けのディストリビューション別緩和スクリプト — 2017年以降に出荷されたほぼすべてのディストリビューションに影響するLinuxカーネル algif_aead のローカル権限昇格の脆弱性です。

各スクリプトは、ディストリビューションのリポジトリからパッチ適用済みカーネルをインストールするか(利用可能な場合)、利用できない場合は脆弱な algif_aead カーネルモジュールをブラックリスト化して、修正済みカーネルで再起動するまで悪用経路を遮断します。

TL;DR

自分のディストリビューションに合ったスクリプトを選び、監査して、rootで実行してください。

root@kitploit:~
# Ubuntu
sudo bash scripts/ubuntu.sh

# Debian
sudo bash scripts/debian.sh

# RHEL / Rocky / AlmaLinux / CentOS Stream
sudo bash scripts/rhel.sh

# Fedora
sudo bash scripts/fedora.sh

# Arch
sudo bash scripts/arch.sh

# openSUSE Leap / Tumbleweed
sudo bash scripts/opensuse.sh

# Alpine
sudo bash scripts/alpine.sh

# その他(Gentoo、NixOS、イミュータブルディストリビューションなど)
sudo bash scripts/universal.sh

何も変更しないプレビューが必要な場合は、最初に --check を使用してください。

各スクリプトの動作

ディストリビューション別スクリプトは以下のアルゴリズムを実行します。 は手順4〜5をスキップします。

universal.sh
  1. sudoで実行。 すでにrootでない場合は sudo の下で再実行します。
  2. ディストリビューションの確認。 --force が指定されていない限り、一致しないホストでは実行を拒否します。
  3. uname -r を読み取ります。
  4. すでにパッチ適用済み? お使いのディストリビューションに PATCHED_KERNEL_VERSION が記録されており、実行中のカーネルがそのバージョン以上の場合、スクリプトは残りの緩和ファイルを削除して終了します。
  5. パッチは利用可能? パッケージマネージャに問い合わせます。パッチ適用済みバージョン以上の候補カーネルが利用可能な場合、インストールを促します(スキップするには --yes)。インストール後、手動で再起動します。
  6. 緩和。 パッチ適用済みカーネルがまだ利用できない場合(または辞退した場合)、blacklist algif_aead と install algif_aead /bin/true を含む /etc/modprobe.d/cve-2026-31431.conf を書き込み、AF_ALG ソケットバインドプローブで悪用経路が閉じられていることを検証します。

パッチ状況

PATCHED_KERNEL_VERSION = PENDING は、メンテナがそのディストリビューションの修正済みカーネルバージョンをまだ記録していないことを意味します。各行は1行のPRで更新されます。

ディストリビューションカーネルパッケージパッチ適用済みバージョン最終確認日
Ubuntu (24.04)linux-image-genericPENDING2026-05-01
Debianlinux-image-amd64PENDING2026-05-01
RHEL / Rocky / AlmakernelPENDING2026-05-01
FedorakernelPENDING2026-05-01
ArchlinuxPENDING2026-05-01
openSUSEkernel-defaultPENDING2026-05-01
Alpinelinux-ltsPENDING2026-05-01

フラグ

フラグ意味
-y, --yes非対話型。カーネルインストールのプロンプトをスキップします。
--forceディストリビューション不一致チェックをバイパスします。
--check読み取り専用プレビュー。何が起こるかを表示し、何も変更しません。
--undo/etc/modprobe.d/cve-2026-31431.conf を削除します。パッチ適用済みカーネルのインストール後に使用します。
-h, --help使用方法の情報。

緩和の手動検証

スクリプトはこのプローブを自動的に実行します。自分で確認するには:

root@kitploit:~
python3 - <<'PY'
import socket, errno
try:
    s = socket.socket(socket.AF_ALG, socket.SOCK_SEQPACKET, 0)
    s.bind(("aead", "authencesn(hmac(sha1),cbc(aes))"))
    print("BAD: bind succeeded — host is NOT mitigated")
    s.close()
except OSError as e:
    print(f"OK: bind blocked, errno={e.errno} ({e.strerror})" if e.errno == errno.ENOENT
          else f"INCONCLUSIVE: errno={e.errno}")
PY

緩和済みまたはパッチ適用済みのホストは OK: bind blocked, errno=2 ... を出力します。

元に戻す

ディストリビューションが修正済みカーネルを公開し、それで再起動した後、modprobeブラックリストを削除して、AF_ALG aeadを正当に使用するアプリケーションが再び動作できるようにします:

root@kitploit:~
sudo bash scripts/<your-distro>.sh --undo

貢献

ディストリビューションが修正済みカーネルを公開した場合:

  1. scripts/<distro>.sh の1行を編集 — PATCHED_KERNEL_VERSION を修正済みパッケージバージョンに設定します(dpkg-query -W / rpm -q VERSION-RELEASE / pacman -Q が返す形式)。
  2. このREADMEのパッチ状況テーブルの対応する行を更新します。
  3. <distro>: fix shipped in <version> というタイトルのPRを開きます。

免責事項

セキュリティ緩和ツールです。インターネットで見つけたスクリプトは、sudo bash にパイプする前に必ず監査してください。メンテナはMITライセンスの下でいかなる責任も負いません。

ライセンス

MIT。

ツールをダウンロード