通知公告
当前位置: 首页 > 通知公告 > 正文
Linux内核CVE-2026-31431(Copy Fail)本地提权漏洞风险预警
发布日期:2026-04-30    作者: 智慧校园建设中心    点击率:

一、情况概述

近期,Linux内核中被披露存在一个高危的本地权限提升漏洞(漏洞代号:Copy FailCVE编号:CVE-2026-31431)。该漏洞由Xint Code研究团队发现,是一个隐蔽且极易触发的内核逻辑缺陷。攻击者利用该漏洞可以实现稳定、确定性的提权操作。

目前,该漏洞的完整利用代码(PoC)已经公开,受影响时间跨度长达近十年(自2017年起),且覆盖所有主流Linux发行版本。云服务器、容器宿主机及多租户环境面临极高的安全风险。

二、风险详情

1. 漏洞成因:该漏洞源于Linux内核加密子系统中authencesn模块的逻辑缺陷。当攻击者结合使用AF_ALG套接字和splice()系统调用时,会将目标文件的页缓存(Page Cache)引用暴露在可写的散列表(Scatterlist)中,从而允许无特权的本地用户向系统内任意可读文件(如setuidsu二进制文件)的页缓存中进行精确的4字节越界写入。

2. 漏洞特征

 无条件触发(直线逻辑缺陷):与Dirty Cow(脏牛)等依赖条件竞争(Race Condition)的漏洞不同,Copy Fail漏洞不需要竞争窗口,运行稳定,不会导致系统崩溃。

 极度隐蔽(绕过文件完整性校验):该漏洞仅修改内存中的页缓存,内核不会将其标记为脏页Dirty)并回写到磁盘。因此,磁盘上的文件保持不变,传统基于文件系统特征比对或哈希校验的完整性检查工具无法发现该篡改。

 极易利用(单文件脚本):利用代码仅为732字节的Python标准库脚本,无需编译即可在各类架构与发行版上通用。

三、风险危害

1. 本地权限提升:任何无特权的本地普通用户均可利用该漏洞篡改高权限进程(如 /usr/bin/su),直接获取系统最高级别的root权限。

2. 容器逃逸与跨租户攻击:由于操作系统的页缓存在宿主机与所有容器之间共享,容器内的攻击者一旦掌握适当的系统调用权限,即可篡改宿主机的页缓存,实现容器逃逸并接管整个Kubernetes节点或宿主机资源。

3. 高危场景威胁:对多用户共享主机、开发机、CI/CD执行器(如GitHub ActionsGitLab Runner等沙盒环境)以及Serverless等多租户云服务造成严重的跨越隔离界限的威胁。

四、受影响范围

该漏洞影响内核版本在 commit 72548b093ee3 (linux/commit/72548b093ee3)2017年引入)至commit `a664bf3d603d` (linux/commit/a664bf3d603d)(修复补丁,2026331日)之间的所有Linux系统。默认配置下启用或可加载`algif_aead`模块的系统均在受影响之列。

已知受影响的主流产品及版本包括但不限于:

 Ubuntu 24.04 LTS及以下版本

 Amazon Linux 2023及以下版本

 RedHat Enterprise Linux (RHEL) 8 / 9 / 10及以下版本

 SUSE 16及以下版本

 Debian / Arch / Fedora / Rocky / Alma / Oracle等同期内核版本

不受影响的版本:

 内核主线 7.0及以上

 稳定版 6.18.22及以上

 稳定版 6.19.12及以上

五、排查方法

1. 内核版本自查:通过命令行执行 uname -r查看当前内核版本,并对照官方修复的内核版本号判断是否处于受影响区间。

2. 内核模块排查:检查系统是否加载或允许加载 algif_aead模块,可执行命令:lsmod | grep algif_aeadlsof | grep AF_ALG

3. 注意:由于该漏洞特性,对系统上的 /usr/bin/su等可执行文件进行md5sumsha256sum校验无法排查出是否已遭受攻击。

六、处置与修复建议

1. 立即升级内核(首选方案):各主要Linux发行版厂商已发布包含mainline commit a664bf3d603d的内核更新补丁。建议受影响用户尽快通过系统的包管理器(如aptyumdnf)将内核更新至最新版本并重启系统。

 # Ubuntu / Debian
apt update&& apt upgrade linux-image-$(uname -r)
# RHEL / CentOS / Rocky / Alma
dnf update kernel
# Amazon Linux
yum update kernel
# SUSE
zypper update kernel-default

2. 临时缓解措施(禁用内核模块):若暂无法重启或升级内核,建议立即禁用相关的漏洞触发模块。使用 root权限执行以下命令:

 #重定向内核模块加载二进制
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
#如已经加载该模块则卸载
#若提示rmmod: ERROR: Module algif_aead is not currently loaded可忽略
rmmod algif_aead
#清空文件系统缓存,使exp/poc中被篡改的缓存失效
echo 1> /proc/sys/vm/drop_caches;
#后续该模块按需加载时,将重定向至/bin/false,阻断漏洞利用

 请注意,若卸载模组时提示 rmmod: ERROR: Module algif_aead is builtin.(如Rocky Linux 8等发行版),此时该模块无法通过modprobe控制加载。建议升级内核版本并重启

 若无法升级内核,并且您的启动由 Grub引导,可跟随以下步骤操作:

1. 编辑 /etc/default/grub,在GRUB_CMDLINE_LINUX增加initcall_blacklist=algif_aead_init

2. 执行 grub2-mkconfig -o /boot/grub2/grub.cfg或对应发行版的grub更新指令。

3. 重启系统 (非 GRUB的其他引导方式请参考其文档增加对应的CMDLINE_LINUX参数)

3. 容器环境阻断:对于运行未受信任工作负载的容器或Kubernetes集群,建议通过Seccomp profile或其他安全策略,直接阻断容器内部的AF_ALG socket创建请求。

说明:禁用该模块不会影响 dm-crypt/LUKSIPsecSSHOpenSSL的默认构建等标准加密服务,极少数强制指定使用AF_ALG的用户态业务除外。

七、外部参考

 CNVD安全公告:https://www.cnvd.org.cn/webinfo/show/12336

 Copy.fail网站:https://copy.fail/

 漏洞报告者 Xint Code技术分析:https://xint.io/blog/copy-fail-linux-distributions

分享到:
相关信息