腾讯云公告 > 公告详情
扫码查看公告

【安全通告】Linux Kernel "Copy Fail" 本地权限提升漏洞风险通告(CVE-2026-31431)

尊敬的腾讯云用户,您好!

腾讯云安全中心监测到,Linux Kernel 被披露其存在本地权限提升漏洞,漏洞编号CVE-2026-31431,代号 “Copy Fail”。可导致本地低权限攻击者利用 AF_ALG 加密接口与 splice() 系统调用,实现向任意可读文件的页缓存中写入受控的4字节数据,进而通过篡改 setuid 二进制文件获得 root 权限等危害。

为避免您的业务受影响,腾讯云安全建议您及时开展安全自查,如在受影响范围,请您及时进行更新修复,避免被外部攻击者入侵。

漏洞详情
Linux Kernel 是全球最广泛使用的开源操作系统内核,它是 Linux 系统的核心组件,负责管理硬件资源、进程调度、内存管理、文件系统和网络功能等底层任务。

据描述,在 Linux 内核的 authencesn 加密模板与 algif_aead 模块的组合实现中,由于 AF_ALG 套接字的 AEAD 解密路径在 2017 年引入了一个就地(in-place)操作优化(提交 72548b093ee3),将 splice() 传递过来的目标文件页缓存页面直接链入可写的输出散列表(scatterlist)。而 authencesn 算法在实现 IPsec 扩展序列号(ESN)支持时,为了重排认证数据中的序列号字节,会在解密过程中将接收缓冲区偏移 assoclen + cryptlen 位置作为临时存储空间写入 4 字节数据。当 AF_ALG 通过 recvmsg() 触发解密操作时,该写入会跨越接收缓冲区边界,直接覆盖链在后面的页缓存页面,从而实现对任意已打开的可读文件的页缓存进行受控的 4 字节篡改,最终导致本地低权限攻击者可通过篡改系统上任意可读文件(如 /usr/bin/su 等 setuid 程序)的页缓存内容,无需竞争条件或重试即可直接获得 root 权限,且该写入不会触发磁盘脏页回写,可实现持久化提权等危害。

目前该漏洞的漏洞细节、POC已公开。

风险等级
高风险

漏洞风险
本地攻击者利用该漏洞可在无需竞争条件、无需重试的情况下,通过篡改系统上任意可读文件(如 /usr/bin/su 等 setuid 程序)的页缓存内容,直接获得 root 权限,且该写入不会触发磁盘脏页回写,可实现持久化提权等危害。

影响版本
4.14 <= Linux Kernel < 5.10.254
5.11 <= Linux Kernel < 5.15.204
5.16 <= Linux Kernel < 6.1.170
6.13 <= Linux Kernel < 6.18.22
6.19 <= Linux Kernel < 6.19.12
6.2 <= Linux Kernel < 6.6.137
6.7 <= Linux Kernel < 6.12.85
7.0-rc1 <= Linux Kernel <= 7.0-rc6

目前已知受影响的主流操作系统及版本:
Ubuntu 25.10
Ubuntu 24.04 LTS
Ubuntu 22.04 LTS
Ubuntu 20.04 LTS
Ubuntu 18.04 LTS
Debian 13 < 6.12.85-1
Debian 12 < 6.1.170-1
Debian 11 < 5.10.251-3
Rocky Linux 10 < 6.12.0-124.55.1.el10_1
Rocky Linux 9 < 5.14.0-611.54.1.el9_7
Rocky Linux 8 < 4.18.0-553.123.1.el8_10
Amazon Linux 2 < 4.14.355-281.727.amzn2
Amazon Linux 2023 < 6.1.168-203.330.amzn2023
Red Hat Enterprise Linux 10 < 6.12.0-124.55.1.el10_1
Red Hat Enterprise Linux 9 < 5.14.0-611.54.1.el9_7
Red Hat Enterprise Linux 8 < 4.18.0-553.123.1.el8_10
openSUSE Leap 15.6 < 6.4.0-150600.23.100.1
openSUSE Leap 16.0 < 6.12.0-160000.29.1

安全版本
Linux Kernel >= 5.10.254
Linux Kernel >= 5.15.204
Linux Kernel >= 6.1.170
Linux Kernel >= 6.18.22
Linux Kernel >= 6.19.12
Linux Kernel >= 6.6.137
Linux Kernel >= 6.12.85
Linux Kernel >= 7.0-rc7

Debian 13 >= 6.12.85-1
Debian 12 >= 6.1.170-1
Debian 11 >= 5.10.251-3
Rocky Linux 10 >= 6.12.0-124.55.1.el10_1
Rocky Linux 9 >= 5.14.0-611.54.1.el9_7
Rocky Linux 8 >= 4.18.0-553.123.1.el8_10
Amazon Linux 2 >= 4.14.355-281.727.amzn2
Amazon Linux 2023 >= 6.1.168-203.330.amzn2023
Red Hat Enterprise Linux 10 >= 6.12.0-124.55.1.el10_1
Red Hat Enterprise Linux 9 >= 5.14.0-611.54.1.el9_7
Red Hat Enterprise Linux 8 >= 4.18.0-553.123.1.el8_10
openSUSE Leap 15.6 >= 6.4.0-150600.23.100.1
openSUSE Leap 16.0 >= 6.12.0-160000.29.1

排查方法
# 检查内核版本
uname -r
# 检查内核配置是否启用(推荐)
grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
注:会出现以下三种情况:
CONFIG_CRYPTO_USER_API_AEAD=n    彻底关闭,不受影响,无需处理
CONFIG_CRYPTO_USER_API_AEAD=y    静态编译进内核,Ismod 查不到,但受影响,暂无缓解措施,只能升级内核(例如:RHEL/CentOS/Rocky Linux/AlmaLinux 8, 9, 10 三代产品)
CONFIG_CRYPTO_USER_API_AEAD=m   模块方式,Ismod 可查,加载就有风险,受影响,可通过以下缓解措施缓解
# 检查模块是否已加载受影响模块
lsmod | grep algif
# 检查 AF_ALG socket 是否可创建
python3 -c "import socket; socket.socket(38,5,0); print('VULNERABLE')"

修复建议
1. 针对 Debian、RHEL/CentOS、SUSE、Amazon 等用户,官方已发布内核安全更新补丁,请及时更新补丁:
Debian:https://security-tracker.debian.org/tracker/CVE-2026-31431
RHEL/CentOS:https://access.redhat.com/security/cve/cve-2026-31431
SUSE:https://www.suse.com/security/cve/CVE-2026-31431.html
Amazon Linux:https://explore.alas.aws.amazon.com/CVE-2026-31431.html

2. 针对 Ubuntu 用户,官方暂未发布内核更新补丁,但已发布 kmod 软件包的更新及其它缓解措施,该更新会禁用 algif_aead 模块的加载,建议受影响用户参考以下官方链接更新 kmod 软件包:
https://ubuntu.com/blog/copy-fail-vulnerability-fixes-available
注:内核补丁更新可持续关注官方安全公告:https://ubuntu.com/security/CVE-2026-31431

3. 缓解措施:
# 禁用内核模块
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.conf
# 卸载已加载模块
rmmod algif_aead 2>/dev/null
注:针对静态编译进内核的系统(例如:RHEL/CentOS/Rocky Linux/AlmaLinux 8, 9, 10 三代产品),此缓解措施可能无法生效,建议更新官方内核补丁。
# 验证
python3 -c 'import socket; s=socket.socket(38,5,0); (s.bind(("aead", "authencesn(hmac(sha256),cbc(aes))")) or print("未缓解")) if s else None' 2>/dev/null || echo "已缓解"

4. 容器环境加固
通过 seccomp 禁止 AF_ALG socket 创建(family=38):
"syscalls": [{  "names": ["socket"],  "action": "SCMP_ACT_ERRNO",  "args": [{"index": 0, "value": 38, "op": "SCMP_CMP_EQ"}]}]

【备注】:建议您在升级前做好数据备份工作,避免出现意外

漏洞参考

腾讯云安全解决方案
- 腾讯T-Sec 主机安全当前已支持 TencentOS、OpenCloudOS、Debian、Redhat、RockyLinux 系统的漏洞检测

img

2026-05-09