本仓库记录了名为 Copy Fail 的漏洞 CVE-2026-31431,并为可能受影响的 Linux 系统提供防御性修复流程。
⚠️ 本仓库严格面向防御、授权审计、加固和修复。
它不提供利用流程,也不得用于入侵第三方系统。
CVE-2026-31431 / Copy Fail 是 Linux 内核中的一个本地权限提升漏洞。
它涉及内核加密子系统,具体来说是 AF_ALG 用户接口和 algif_aead 模块。该漏洞与 2017 年在 Linux 内核 AEAD 路径中引入的一项优化有关。在某些条件下,非特权本地用户可以在可读文件(尤其是 setuid 二进制文件)的页缓存中触发受控写入,从而可能导致权限提升至 root。
该漏洞被评为 高危,CVSS v3.1 评分为 7.8。
公开来源表明,自 2017 年优化以来,搭载源自易受影响分支内核的 Linux 发行版可能面临风险。
公开出版物中提到的平台示例:
确切状态取决于内核版本、供应商、安全反向移植以及已应用的补丁。
在不可信用户或工作负载可以访问本地 shell 或共享执行环境的环境中,此漏洞尤其危险。
需要优先考虑的环境:
主要风险:
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 安全 — CVE-2026-31431 https://ubuntu.com/security/CVE-2026-31431 Debian 安全跟踪器 — CVE-2026-31431 https://security-tracker.debian.org/tracker/CVE-2026-31431 SUSE CVE 跟踪器 — CVE-2026-31431 https://www.suse.com/security/cve/CVE-2026-31431.html Tenable 常见问题解答 — Copy Fail https://www.tenable.com/blog/copy-fail-cve-2026-31431-frequently-asked-questions-about-linux-kernel-privilege-escalation
本仓库仅用于以下目的:
任何未经授权的攻击性使用都是非法的,且违背本仓库的宗旨。
| 项目 | 详情 |
|---|
| CVE | CVE-2026-31431 |
| 公开名称 | Copy Fail |
| 类型 | 本地权限提升,LPE |
| 组件 | Linux 内核加密子系统 |
| 受影响模块 | algif_aead |
| 接口 | AF_ALG |
| 涉及机制 | AEAD、authencesn、splice()、页缓存 |
| CVSS v3.1 评分 | 7.8 高危 |
| 所需权限 | 非特权本地账户 |
| 用户交互 | 无 |
| 影响 | 机密性、完整性和可用性均受到严重影响 |
| 发行版 | 公开测试的内核版本示例 |
|---|
| 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 | 取决于内核版本和供应商反向移植 |