#IT那些事儿# CVE-2026-31431 这个突发大雷让五一节前全球运维们忙到跳脚吧?
CVE-2026-31431 是一个存在于 Linux 内核 9 年之久的本地提权漏洞,CVSS 评分 7.8(高危)。
其核心机制是通过 Linux 内核的 copy_page_to_iter 函数中的边界计算错误,向任意可读文件的 page cache 注入可控的 4 字节数据,绕过 ASLR 并实现确定性提权。
一个 732 字节的 Python 脚本即可完成 root 提权,这是近年来利用难度最低的内核漏洞之一。
░▒一、技术层面:它为什么罕见▒░
1. 利用门槛极低
传统内核提权漏洞(如 Dirty COW、Dirty Pipe)通常需要满足以下条件中的至少一项:
Race condition(需要精确 timing)
内核符号表泄露(需要信息收集)
特定发行版适配(版本依赖)
CVE-2026-31431 不需要以上任何条件。它的利用路径是:
读取目标文件 → 通过漏洞写入 page cache → 下次执行该文件时以 root 身份运行
这是一条“直线逻辑漏洞”,没有分支、没有概率、没有环境依赖。
2. 成功确定性极高
漏洞本质是向 page cache 写入 4 字节可控数据。
Page cache 是操作系统用于缓存磁盘文件内容的内存结构,其特性是:
全局共享:所有进程共享同一个 page cache
持久性:直到文件被驱逐或系统重启前,写入内容保持有效
无日志:写入操作不产生审计线索
这意味着攻击者可以:
修改 /usr/bin/sudo、/usr/bin/passwd 等 setuid 程序的内存镜像
在普通用户权限下完成修改
下一次有 root 权限的用户执行这些程序时,触发 payload
关键特性:重启后消失。这使得取证难度极高,攻击可以在被发现前完成。
3. 覆盖面极广
受影响的发行版:Ubuntu、RHEL、Debian、SUSE 等主流发行版
暴露路径:AF_ALG 接口(Linux 内核的加密算法接口),在默认配置下可用
时间跨度:2017 年至今的内核版本(9 年)
这意味着几乎所有 Linux 服务器在未打补丁前都处于暴露状态。
░▒二、它有没有被夸大▒░
不是远程 RCE
这个漏洞必须先获得本地执行能力。完整的攻击链是:
远程入口(弱口令 / Web 漏洞 / 供应链攻击)
↓
获得普通用户权限
↓
CVE-2026-31431 → root
这与近年来通过 NSA 泄露的 EternalBlue 等漏洞完全不同——后者可以远程直接代码执行,而这个漏洞只能在你已经站在门内之后把你送到 root。
因此,对互联网暴露面大的 Web 服务器,风险相对可控(前提是没有通过其他漏洞拿到本地权限)。
░▒三、为什么超算/科研圈反应如此剧烈
这部分值得单独分析,因为它揭示了一个超出漏洞本身的问题。
1. HPC 环境天然“本地权限暴露”
典型超算架构:
多用户共享计算节点
SSH 登录 + 作业调度系统(Slurm、PBS)
用户提交的代码直接在节点上执行
在这种环境下,“普通用户权限”不是例外,而是常态。
2. Page cache 的跨进程共享特性
Page cache 是系统级缓存,一个节点的 page cache 对所有用户进程可见。这意味着:
容器 → 宿主机逃逸:一个容器内的普通用户可以通过漏洞修改宿主机上的 page cache,进而控制宿主机上的 setuid 程序
用户 → 节点控制:节点上的任意普通用户可以提权到 root,进而访问同一节点上其他用户的资源
对于运行 Jupyter Notebook、Kubernetes Pod、CI Runner 的环境,这是架构层面的风险。
3. 学术环境的特殊性
科研场景(如 HPC 集群、学术云平台)通常有以下特点:
临时账号大量存在
外部协作者上传代码并执行
权限管控相对宽松
在这种环境下,攻击者可能已经“合法拥有本地权限”。CVE-2026-31431 对他们来说就是“一键 root”。
░▒四、“欧洲超算几乎全挂了”是什么情况▒░
更精确的表达是:主动防御性停机,而非被攻陷。
逻辑链:
PoC 已公开(732 字节 Python 脚本)
利用门槛极低
多用户系统无法在不停止作业的情况下打补丁(内核更新需要重启)
运营方的理性选择:
关闭登录入口 / 隔离作业队列 / 等待官方补丁
从用户视角看,就是“全挂了”。但本质是保守型防御,而非“被攻破后下线”。
░▒五、真正值得关注的深层问题▒░
CVE-2026-31431 的危险并不在于它能提权到 root,而在于它证明了:
在多租户与自动执行成为常态的时代,任何“本地提权”漏洞,都会被放大为系统级失控。
附录:修复进度
截至本文发布:
POC 已公开:732 字节 Python 脚本可在数秒内完成提权
补丁状态:各发行版陆续发布内核更新,建议优先在 HPC/云/多租户环境打补丁
缓解建议:
禁用 AF_ALG 接口(modprobe -r algif_hash)
限制普通用户对 setuid 程序的访问
监控 /proc 下的异常写操作
对 HPC/多租户环境,优先打补丁
参考链接:
access.redhat.com/security/cve/cve-2026-31431
ubuntu.com/security/CVE-2026-31431
www.bugcrowd.com/blog/what-we-know-about-copy-fail-cve-2026-31431/
