このリポジトリは、CVE-2026-31431(通称 Copy Fail)の脆弱性を文書化し、潜在的に影響を受けるLinuxシステム向けの防御的修復手順を提供します。
⚠️ このリポジトリは、防御、許可された監査、ハードニング、および修復に厳密に焦点を当てています。
悪用手順は提供しておらず、第三者システムを侵害するために使用してはなりません。
CVE-2026-31431 / Copy Fail は、Linuxカーネルにおけるローカル権限昇格の脆弱性です。
これはカーネルの暗号サブシステム、具体的にはユーザーインターフェース AF_ALG とモジュール algif_aead に関連します。この欠陥は、2017年にLinuxカーネルのAEADパスに導入された最適化に関連しています。特定の条件下では、非特権のローカルユーザーが読み取り可能なファイル(特にsetuidバイナリ)のページキャッシュへの制御された書き込みを引き起こす可能性があり、rootへの権限昇格につながる可能性があります。
この脆弱性は、CVSS v3.1スコア7.8のHighと評価されています。
| 要素 | 詳細 |
|---|---|
| CVE | CVE-2026-31431 |
| 公開名 | Copy Fail |
| タイプ | ローカル権限昇格、LPE |
| コンポーネント | Linuxカーネル暗号サブシステム |
| 影響を受けるモジュール | algif_aead |
| インターフェース | AF_ALG |
| 関連メカニズム | AEAD、authencesn、splice()、ページキャッシュ |
| CVSS v3.1スコア | 7.8 High |
| 必要な権限 | 非特権ローカルアカウント |
| ユーザー操作 | なし |
| 影響 | 機密性、完全性、可用性への高い影響 |
公開情報によると、2017年の最適化以降に脆弱なブランチから派生したカーネルを搭載するLinuxディストリビューションが影響を受ける可能性があります。
公開情報で言及されているプラットフォームの例:
| ディストリビューション | 公開テスト済みカーネルバージョンの例 |
|---|---|
| Ubuntu 24.04 LTS | 6.17.0-1007-aws |
| Amazon Linux 2023 | 6.18.8-9.213.amzn2023 |
| RHEL 10.1 | 6.12.0-124.45.1.el10_1 |
| SUSE 16 | 6.12.0-160000.9-default |
| Debian | カーネルバージョンとセキュリティステータスによる |
| AlmaLinux / Rocky Linux / Oracle Linux | カーネルバージョンとベンダーのバックポートによる |
正確なステータスは、カーネルバージョン、ベンダー、セキュリティバックポート、および適用済みのパッチによって異なります。
この脆弱性は、信頼できないユーザーやワークロードがローカルシェルまたは共有実行環境にアクセスできる環境で特に危険です。
優先すべき環境:
主なリスク:
rootへのローカル権限昇格;uname -a
uname -r
lsmod | grep algif_aead || true
sudo lsof -nP | grep AF_ALG || true
dpkg -l | grep -E '^ii\\s+linux-image|^ii\\s+linux-modules'
rpm -qa | grep -E '^kernel|^kernel-core'
rpm -qa | grep -E '^kernel'
優先オプション:ベンダーのカーネルパッチを適用 正しい修復方法は、ディストリビューションが提供する修正済みカーネルをインストールし、そのカーネルで再起動することです。
sudo apt update
sudo apt full-upgrade -y
sudo reboot
sudo dnf update -y kernel kernel-core kernel-modules
sudo reboot
sudo zypper refresh
sudo zypper patch
sudo reboot
# 再起動後:
uname -r
修正済みカーネルがまだ利用できない場合、または即時の再起動が不可能な場合は、一時的な緩和策を適用します。
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
sudo modprobe -r algif_aead 2>/dev/null || true
sudo rmmod algif_aead 2>/dev/null || true
sudo update-initramfs -u
sudo dracut -f
sudo mkinitrd
sudo reboot
sudo modprobe algif_aead
echo $?
一部のカーネルでは、モジュールがカーネルに直接コンパイルされており、モジュールとしてロード/アンロードできません。
grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
CONFIG_CRYPTO_USER_API_AEAD=m
コンポーネントはモジュールです。/etc/modprobe.d/による緩和策が適用可能です。
CONFIG_CRYPTO_USER_API_AEAD=y
コンポーネントはカーネルに組み込まれています。modprobe.dによる緩和策では不十分です。
この場合、以下を優先的に使用します:
一部の情報源では、以下のカーネルオプションが回避策として言及されています:
initcall_blacklist=algif_aead_init
本番環境での展開前に必ずテストしてください。このオプションは、カーネル、ディストリビューション、および起動設定によって異なる場合があります。
Docker、Podman、Kubernetes、CI/CDでは、信頼できないワークロードがAF_ALGソケットを開く可能性を減らす必要があります。
sudo lsof -nP | grep AF_ALG || true
lsmod | grep algif_aead || true
find / -perm -4000 -type f 2>/dev/null
sudo ausearch -f /usr/bin/su 2>/dev/null || true
sudo auditctl -w /usr/bin/su -p x -k su_exec_monitoring
sudo ausearch -k su_exec_monitoring
last -a
lastlog
getent passwd
sudo find /etc/cron* -type f -ls 2>/dev/null
sudo find /root /home -name authorized_keys -type f -ls 2>/dev/null
sudo journalctl --since "48 hours ago"
#!/usr/bin/env bash
set -euo pipefail
echo "[+] CVE-2026-31431 - algif_aead一時緩和策"
if [[ $EUID -ne 0 ]]; then
echo "[-] このスクリプトはrootで実行する必要があります。"
exit 1
fi
echo "[+] アクティブなカーネルバージョン : $(uname -r)"
echo "[+] algif_aeadのロードを永続的に無効化"
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
echo "[+] モジュールのアンロードを試行"
modprobe -r algif_aead 2>/dev/null || true
rmmod algif_aead 2>/dev/null || true
if command -v update-initramfs >/dev/null 2>&1; then
echo "[+] Debian/Ubuntuのinitramfsを更新"
update-initramfs -u
elif command -v dracut >/dev/null 2>&1; then
echo "[+] dracutでinitramfsを更新"
dracut -f
elif command -v mkinitrd >/dev/null 2>&1; then
echo "[+] mkinitrdでinitramfsを更新"
mkinitrd
else
echo "[!] 既知のinitramfsツールが検出されませんでした。手動で確認してください。"
fi
echo "[+] 確認"
lsmod | grep algif_aead && echo "[!] モジュールがまだロードされています" || echo "[OK] モジュールはロードされていません"
echo "[+] 再起動を推奨します。"
これは以下を置き換えるものではありません:
修正済みカーネルのインストール;
修正済みカーネルでの再起動;
ベンダーステータスの検証;
侵害が疑われる場合のインシデント後の分析。
また、AF_ALG暗号インターフェースを明示的に使用するように設定された一部のソフトウェアに影響を与える可能性があります。
Theori / Xint Code — Copy Fail 技術解説 https://xint.io/blog/copy-fail-linux-distributions Theori PoC GitHubリポジトリ https://github.com/theori-io/copy-fail-CVE-2026-31431 NVD — CVE-2026-31431 https://nvd.nist.gov/vuln/detail/CVE-2026-31431 CERT-EU — セキュリティアドバイザリ 2026-005 https://cert.europa.eu/publications/security-advisories/2026-005/ Ubuntu Security — CVE-2026-31431 https://ubuntu.com/security/CVE-2026-31431 Debian Security Tracker — CVE-2026-31431 https://security-tracker.debian.org/tracker/CVE-2026-31431 SUSE CVE Tracker — CVE-2026-31431 https://www.suse.com/security/cve/CVE-2026-31431.html Tenable FAQ — Copy Fail https://www.tenable.com/blog/copy-fail-cve-2026-31431-frequently-asked-questions-about-linux-kernel-privilege-escalation
このリポジトリは、以下の目的のみで提供されています:
許可されていない攻撃的使用は違法であり、このリポジトリの目的に反します。