Linux 内核曝出高危本地权限提升漏洞(CVE-2026-31431,别名 Copy Fail)。该漏洞源于内核 authencesn 加密模板与 algif_aead 模块组合实现的逻辑缺陷,攻击者可通过 AF_ALG 加密接口与 splice () 系统调用,向任意可读文件页缓存写入 4 字节受控数据,篡改 setuid 程序实现本地提权至 root,容器环境下还可能引发容器逃逸。目前漏洞细节与 POC 已公开,在野利用风险极高,蓝队云已全面启动安全排查与防护预警。
一、漏洞详情
1、成因分析
2017 年 Linux 内核引入 AEAD 解密就地操作优化(提交 72548b093ee3),将 splice () 传递的目标文件页缓存直接链入可写输出散列表。authencesn 算法支持 IPsec 扩展序列号(ESN)时,解密过程会在接收缓冲区偏移assoclen + cryptlen位置写入 4 字节临时数据;当通过 recvmsg () 触发解密时,该写入会跨越缓冲区边界,覆盖后续页缓存页面,导致任意可读文件页缓存被受控篡改。
2、核心危害
本地提权:低权限用户无需竞争条件,篡改/usr/bin/su等 setuid 程序页缓存,直接获取 root 权限,且篡改不触发磁盘脏页回写,可持久化提权。
容器逃逸:容器内普通用户可利用该漏洞突破隔离限制,劫持宿主机控制权,威胁多租户云环境安全。
影响范围广:漏洞潜伏近 9 年,影响 2017 年后主流 Linux 发行版,包括 Ubuntu、RHEL、Amazon Linux、SUSE 及信创系统等。
二、影响范围
1、受影响 操作系统及版本
Ubuntu:25.10、24.04 LTS、22.04 LTS、20.04 LTS、18.04 LTS
Amazon Linux:2023
Red Hat Enterprise Linux:10、9、8
SUSE:16
其他:Debian、Arch、Fedora、Rocky、Alma、Oracle Linux 及主流信创 OS 同期内核版本均受影响
2、受影响内核关键配置
CONFIG_CRYPTO_USER_API_AEAD=y(静态编译进内核,存在漏洞)
CONFIG_CRYPTO_USER_API_AEAD=m(模块加载状态,存在漏洞)
CONFIG_CRYPTO_USER_API_AEAD=n(彻底关闭,不受影响)
三、排查方法
1、检查内核版本,uname -r
2、检查内核配置是否启用(推荐)
grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
注:会出现以下三种情况:
CONFIG_CRYPTO_USER_API_AEAD=n 彻底关闭,绝对不受影响
CONFIG_CRYPTO_USER_API_AEAD=y 静态编译进内核,Ismod 查不到,但存在漏洞可被利用(例如:Centos 8.5)
CONFIG_CRYPTO_USER_API_AEAD=m 模块方式,Ismod 可查,加载就有风险
3、检查模块是否已加载受影响模块,lsmod | grep algif。
4、检查 AF_ALG socket 是否可创建,python3 -c “import socket; socket.socket(38,5,0); print(‘VULNERABLE’)”
四、修复建议
1、官方已发布漏洞补丁及修复版本,请评估业务是否受影响后,升级至安全版https://git.kernel.org/stable/c/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5
2、针对 Ubuntu、Debian、RHEL/CentOS、SUSE 等用户,官方暂未发布安全更新,请及时关注官方安全公告:
Ubuntu:https://ubuntu.com/security/CVE-2026-31431
Debian:https://security-tracker.debian.org/tracker/CVE-2026-31431
RHEL/CentOS:https://access.redhat.com/security/cve/cve-2026-31431
SUSE:https://www.suse.com/security/cve/CVE-2026-31431.html
五、缓解措施
1、禁用内核模块(该方式可能不会对所有linux有效,且执行该命令可能产生未知的风险,建议在与生产环境相同的测试环境中测试没有影响之后使用。)
echo “install algif_aead /bin/false” > /etc/modprobe.d/disable-algif-aead.conf
2、卸载已加载模块 rmmod algif_aead 2>/dev/null(针对静态编译进内核的系统(例如:Centos 8.5),此缓解措施可能无法生效,建议更新官方内核补丁。)
3、容器场景下可通过 seccomp 禁止 AF_ALG socket 创建(family=38)来缓解:”syscalls”: [{ “names”: [“socket”], “action”: “SCMP_ACT_ERRNO”, “args”: [{“index”: 0, “value”: 38, “op”: “SCMP_CMP_EQ”}]}]



评论(0)