跳到内容
Part70
返回

Linux 惊现史诗级提权漏洞Copy Fail(CVE-2026-31431)

Linux 内核潜伏 9 年漏洞披露:732 字节脚本攻破 Ubuntu 等发行版,提权至 root 最高权限。(已复现)

目录

展开目录

漏洞描述

2026年4月29日,Theori / Xint Code公开披露Linux内核漏洞Copy Fail(CVE-2026-31431)。该漏洞存在于Linux内核加密子系统相关逻辑中,攻击者在获得本地普通用户权限后,可通过AF_ALG、splice()与authencesn相关逻辑组合,触发对page cache的受控写入,从而实现本地提权。研究方称,公开PoC可在多个主流Linux发行版上将普通用户提升为root。

该漏洞的危险点不在于远程直接入侵,而在于它会把“已经获得的低权限执行点”迅速放大为root权限。因此,对于多用户Linux主机、Kubernetes节点、容器平台、CI/CD构建机、自托管Runner、云端Notebook、沙箱执行环境等场景,风险显著高于普通单用户服务器。研究方特别指出,page cache在宿主机范围内共享,因此该问题也具备容器逃逸和跨租户影响。

漏洞概述

项目内容
CVE 编号CVE-2026-31431
漏洞名称Copy Fail
漏洞类型Linux Kernel 本地权限提升 / 容器逃逸原语
触发条件攻击者已获得本地普通用户或容器内代码执行权限
是否需要网络访问不需要
是否需要竞争条件研究方称不需要 race window
是否已有公开PoC      是,研究方已公开验证 PoC
修复方式更新包含内核修复提交 a664bf3d603d 的发行版内核
临时缓解禁用 algif_aead 模块,或在容器/沙箱中阻断 AF_ALG socket 创建

影响范围

根据公开披露信息,漏洞影响范围主要包括:

研究方已直接验证的系统包括 Ubuntu 24.04 LTS、Amazon Linux 2023、RHEL、SUSE 等多个发行版与内核组合;同时说明 Debian、Arch、Fedora、Rocky、Alma、Oracle Linux 以及嵌入式系统等如果运行受影响内核,也可能处于风险范围。

需要注意的是,不同厂商对该漏洞的评分可能不完全一致。例如 Ubuntu 安全页面将其优先级标为 High,CVSS 3 分数为 7.8;Amazon Linux 页面显示为 Medium,CVSS 3 基础分为 5.5。评分差异不应影响运维优先级判断:在多租户、容器、CI、沙箱环境中,应按高危漏洞处理。

不受影响⁠:

排查方法

1)查看当前内核版本

uname -a

uname -r

2)检查 algif_aead 模块是否已加载

lsmod | grep '^algif_aead'

有输出说明模块当前已加载;无输出不代表一定安全,因为模块可能在后续被自动加载。

3)检查是否已配置禁用模块

cat /etc/modprobe.d/disable-algif.conf 2>/dev/null

cat /etc/modprobe.d/disable-algif-aead.conf 2>/dev/null

应看到类似内容:

install algif_aead /bin/false

4)检查系统中是否存在 AF_ALG 使用行为

lsof | grep AF_ALG

ss -xa | grep -i alg

研究方说明,禁用 AF_ALG 通常不会影响 dm-crypt/LUKS、kTLS、IPsec/XFRM、OpenSSL/GnuTLS/NSS 默认构建、SSH、kernel keyring crypto 等常见能力;但显式使用 AF_ALG 的用户态加密加速、嵌入式 crypto offload 或直接绑定 aead/skcipher/hash socket 的程序可能受影响。

解决方案

1)首选方案:更新内核

应立即通过发行版官方渠道升级 Linux kernel,确保新内核包含主线修复提交:

a664bf3d603d

研究方与 Linux 主线提交均显示,该修复通过回退 algif_aead 的 in-place 操作逻辑,避免 page cache 页进入可写目标 scatterlist。

常见发行版可参考如下操作:

# Debian / Ubuntu
sudo apt update
sudo apt full-upgrade
sudo reboot

  
# RHEL / Rocky / Alma / Oracle Linux / Fedora
sudo dnf update kernel
sudo reboot
  
# Amazon Linux 2023
sudo dnf update kernel
sudo reboot

# SUSE / openSUSE
sudo zypper refresh
sudo zypper patch
sudo reboot

升级后再次确认运行内核版本:

uname -r

注意:仅安装新内核包还不够,必须重启进入新内核。

2)临时缓解方案:禁用 algif_aead

在无法立即升级内核的情况下,可临时禁用 algif_aead 模块:

echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif.conf

sudo rmmod algif_aead 2>/dev/null || true

验证:

lsmod | grep '^algif_aead'

如果无输出,说明当前模块未加载。

该缓解措施来自研究方公开建议,用于在正式打补丁前降低攻击面。

3)容器与沙箱环境:阻断 AF_ALG

对于 Kubernetes、容器平台、CI Runner、代码沙箱、Notebook 等运行不可信代码的环境,即使已计划升级内核,也建议通过 seccomp 或运行时安全策略阻断容器内创建 AF_ALG socket。

处置原则:

禁止非可信容器 / 构建任务 / 沙箱任务创建 AF_ALG socket

这类环境的风险不只是普通本地提权,而是可能演变为容器逃逸、宿主机接管、跨租户攻击。研究方也明确建议在不可信 workload 中通过 seccomp 阻断 AF_ALG socket 创建。

安全建议

CVE-2026-31431不是远程直接打穿型漏洞,但它是非常危险的本地提权与容器逃逸型漏洞。在现 代基础设施中,本地执行点并不罕见:Web RCE、弱口令SSH、CI构建脚本、恶意依赖包、容器逃逸链、Notebook代码执行都可能成为前置条件。

因此,本漏洞应按以下原则处置:

单用户服务器:尽快修复。

多用户主机、容器节点、CI Runner、沙箱平台:立即修复。

暂时无法修复的系统:立即禁用 algif_aead 并限制 AF_ALG。

不要在生产环境运行公开 PoC。PoC 会影响 setuid 程序的 page cache,虽然磁盘文件不一定被持久修改,但获得的 root shell 是真实有效的。研究方也明确建议 PoC 仅用于授权测试和补丁验证。

复现CVE-2026-31431-Copy Fail提权漏洞

影响范围:2017年至2026年4月补丁前的几乎所有主流Linux发行版 Ubuntu 24.04 LTS 6.17.0-1007-aws及以下 Amazon Linux 2023 6.18.8-9.213.amzn2023及以下 RHEL 10.1 6.12.0-124.45.1.el10_1及以下 SUSE 16 6.12.0-160000.9-default及以下

注:Debian / Arch / Fedora / Rocky / Alma / Oracle同期内核版本均受影响 以ubunt 24为例进行测试 登录ubunt 24虚拟机:

part70@part70-virtual-machine:~/Part70$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.5 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.5 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
#上传copy_fail_exp.py到ubuntu上
part70@part70-virtual-machine:~/Part70$ rz
part70@part70-virtual-machine:~/Part70$ python3 copy_fail_exp.py
# id
uid=0(root) gid=1000(part70) groups=1000(part70),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),122(lpadmin),135(lxd),136(sambashare)
# whoami
root

Pasted image 20260508191802



上一篇
Linux内核Dirty Frag漏洞,Dirty Frag漏洞修复方法
下一篇
Karpathy-AI+Obsidian知识库教程