

Linux 内核中新近披露了一个名为 Copy Fail的高危漏洞(CVE-2026-31431),CVSS评分7.8。仅凭一个 732 字节的 Python 脚本,任何无特权的本地用户都能一举拿下 root 权限,几乎在所有主流 Linux 发行版上“一击即中”。该漏洞已潜伏近十年,影响 2017 年至补丁发布前构建的大量内核版本。
该漏洞由 Theori 研究员 Taeyang Lee 发现,并由 Xint Code 研究团队通过 AI 辅助分析构建了完整的漏洞利用链。
这一漏洞起源于三个原本各自无害的内核改动(2011-2017 年间引入)。内核通过 AF_ALG套接字向普通用户空间暴露加密子系统;splice()系统调用能将文件页缓存直接传入内核,无需拷贝数据;2017 年,algif_aead.c中又引入了一项“就地”优化,让 AEAD 加密操作的输入、输出散列表指向同一位置,从而使共享的页缓存页面进入了可写的加密目标。
更致命的是,用于 IPsec 扩展序列号的 authencesn加密器中还存在一个旧 bug:它会在输出缓冲区末尾之外写入 4 个暂存字节,且从不恢复。
三者叠加:攻击者通过 splice将任意可读文件的页缓存送入加密路径,触发 authencesn解密,即可将 4 个受控字节写入内核缓存中该文件的指定偏移处。HMAC 校验虽会失败并返回错误,但写入已经发生。

默认攻击目标是 /usr/bin/su——在所有受测发行版中,它都是一个 setuid-root 程序。按此方法逐 4 字节写入 shellcode,再调用 execve("/usr/bin/su"),内核会从已被篡改的页缓存中加载该程序,并以 root 权限执行 shellcode。

echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.confrmmod algif_aead 2>/dev/null || true
但需要注意,在某些企业级内核(如CONFIG_CRYPTO_USER_API_AEAD=y而非m)中,模块禁用可能无法生效。
即可获取知识币奖励,兑换精美商城礼品
参考来源:
Copy Fail - A 732-Byte Python Script Can Get Root on Every Major Linux Distro
https://www.cyberkendra.com/2026/04/a-732-byte-python-script-can-get-root.html



