本仓库包含一个专门的 bash 脚本,用于缓解和修补 CVE-2026-31431,该漏洞也被称为 “复制失败”。这是一个 Linux 内核中的严重本地权限提升(LPE)漏洞,允许非特权用户通过 AF_ALG(加密 API)和 splice() 系统调用污染页缓存,从而获得 root 访问权限。
CVE-2026-31431 利用了内核加密模板中的逻辑缺陷。通过链式调用特定系统调用,攻击者可以在不修改磁盘上物理文件的情况下,覆盖内存中 SUID 二进制文件(如 /usr/bin/su)的页缓存。这导致了一种“无文件”权限提升,传统文件完整性监控工具难以检测。
Linux 内核(v4.10 至 v6.18.x)
主要发行版,包括 Kali Linux、Debian、Ubuntu 和 RHEL。
patch_copy_fail.sh 脚本提供三层防御机制:
即时解决方案: 将 af_alg 和 algif_aead 模块加入黑名单,以禁用漏洞利用的主要通信向量。
内存清理: 刷新系统页缓存(drop_caches),以清除驻留在 RAM 中的任何现有恶意负载。
永久修复: 自动更新基于 Debian/Kali 的系统至最新的已修补内核版本。
[!CAUTION] 始终在授予 root 权限运行脚本之前对其进行审计。
克隆仓库:
git clone https://github.com/xsanflip/CVE-2026-31431-Patch.git
cd CVE-2026-31431-Patch
使脚本可执行:
chmod +x patch_copy_fail.sh
使用 sudo 运行脚本:
sudo ./patch_copy_fail.sh
重启: 需要重启系统以初始化新的、已修补的内核。
该脚本执行以下操作:
创建 /etc/modprobe.d/blacklist-copyfail.conf。
执行 sync 和 echo 3 > /proc/sys/vm/drop_caches。
运行 apt update && apt install 以安装通用 linux-image。
本脚本按“原样”提供,仅用于教育和系统管理目的。作者不对因使用本脚本造成的任何误用或损害负责。在部署到生产环境之前,请务必在暂存环境中进行测试。
作者: XsanLahci
日期: 2026 年 4 月