Linux 内核 “Copy Fail” 漏洞(CVE-2026-31431)修复方案

Linux 内核 "Copy Fail" 漏洞(CVE-2026-31431)是一个高危本地提权漏洞,影响自 2017 年以来的大多数 Linux 内核版本。攻击者仅需普通用户权限,即可稳定提权到 root,并可能实现容器逃逸。公开 PoC 已出现,且已被野外利用。(Xint)

一、漏洞影响范围

受影响核心条件:

  • Linux Kernel 4.14 ~ 7.x

  • 启用了 AF_ALG / algif_aead

  • 使用 authencesn AEAD 加密模块

  • 典型发行版:

    • Ubuntu 20.04/22.04/24.04

    • Debian 11/12

    • RHEL / Rocky / AlmaLinux

    • Amazon Linux 2023

    • SUSE

    • Kubernetes Node / Docker Host

漏洞源于 Linux 内核 algif_aead 的逻辑缺陷,可通过 splice() 修改 page cache,实现任意可读文件的 4-byte 覆写,最终提权。(sysdig.com)


二、官方修复方案(推荐)

方案 1:升级内核(最佳方案)

这是唯一彻底修复方法。

已修复版本(主线)

根据公开信息,目前修复已进入:

  • Kernel 7.0

  • Kernel 6.19.12+

  • Kernel 6.18.22+

部分发行版已开始 backport。(sysdig.com)


Ubuntu 修复

更新系统

复制代码
sudo apt update
sudo apt full-upgrade -y
sudo reboot

查看是否已修复

复制代码
uname -r
ubuntu-security-status

检查 Ubuntu 安全公告

Ubuntu CVE-2026-31431 安全公告

Ubuntu 在正式内核补丁发布前,已通过更新 kmod 禁止加载 algif_aead 模块作为缓解措施。(Reddit)


RHEL / Rocky / AlmaLinux 修复

复制代码
sudo dnf update kernel kernel-core -y
sudo reboot

检查:

复制代码
rpm -q kernel
uname -r

Red Hat 官方安全页面:

Red Hat Security Center


Debian 修复

复制代码
sudo apt update
sudo apt install linux-image-amd64
sudo reboot

三、临时缓解方案(无法立即重启时)

如果业务暂时不能升级内核,可先做 mitigation。


方案 2:禁用 algif_aead 模块(强烈建议)

漏洞核心入口:

复制代码
algif_aead

临时卸载

复制代码
sudo modprobe -r algif_aead

永久禁用

创建 blacklist:

复制代码
echo "blacklist algif_aead" | sudo tee /etc/modprobe.d/disable-algif.conf

更新 initramfs:

Ubuntu/Debian:

复制代码
sudo update-initramfs -u

RHEL:

复制代码
sudo dracut -f

重启:

复制代码
sudo reboot

验证:

复制代码
lsmod | grep algif

应无输出。

CERT-EU 与多个安全厂商均建议此缓解方案。(cert.europa.eu)


四、Kubernetes / 容器环境修复

此漏洞对 K8s 特别危险,因为:

  • container 与 host 共用 kernel

  • 可实现 container escape

  • CI/CD Runner 风险极高

(Microsoft)


Kubernetes 建议

1. 升级所有 Node Kernel

重点:

  • Worker Node

  • GPU Node

  • Jenkins Runner

  • GitLab Runner


2. 禁止特权容器

检查:

复制代码
kubectl get pods -A -o json | jq '.items[] | select(.spec.containers[].securityContext.privileged==true)'

3. 使用 seccomp

禁止 AF_ALG:

复制代码
{
  "defaultAction": "SCMP_ACT_ALLOW",
  "syscalls": [
    {
      "names": ["socket"],
      "action": "SCMP_ACT_ERRNO",
      "args": [
        {
          "index": 0,
          "value": 38,
          "op": "SCMP_CMP_EQ"
        }
      ]
    }
  ]
}

其中:

复制代码
AF_ALG = 38

4. AppArmor / SELinux

限制:

  • AF_ALG

  • splice

  • keyctl


五、检测系统是否存在风险

检查模块

复制代码
grep algif_aead /proc/modules

或:

复制代码
lsmod | grep algif

检查是否允许 AF_ALG

复制代码
cat /proc/crypto | grep authencesn

检查内核版本

复制代码
uname -a

如果:

  • 4.14+

  • 且未安装发行版补丁

则大概率受影响。


六、安全加固建议

建议同时实施

1. 开启内核锁定

复制代码
sudo sysctl kernel.kptr_restrict=2

2. 限制普通用户 shell

减少本地提权面。


3. 审计异常 splice 行为

auditd:

复制代码
-a always,exit -F arch=b64 -S splice -k splice-monitor

4. EDR 检测

重点检测:

  • AF_ALG

  • splice

  • page cache overwrite

  • setuid binary tamper

Microsoft Defender、Sysdig 已发布相关检测规则。(Microsoft)


七、企业级应急建议

建议优先级:

优先级 操作
P0 升级 Kernel
P0 禁用 algif_aead
P1 修复 K8s Node
P1 CI/CD Runner 隔离
P2 增加 seccomp
P2 增加 auditd 监控

八、官方参考

(Xint)

相关推荐
江湖有缘4 分钟前
Docker实战 | 使用Docker部署Donetick任务与家务管理应用
运维·docker·容器
实心儿儿13 分钟前
Linux —— 应用层协议HTTP
linux·网络·http
流星白龙17 分钟前
【Docker】4.NameSpace空间隔离实战
java·运维·docker
有续技术1 小时前
哈斯 (Haas) 机床 IP、端口号配置内容总结
运维·服务器
小张同学a.1 小时前
LAMP架构2
linux·运维·网络·架构·负载均衡
千河殇 多想和她1 小时前
如何在Reaonix中使用CodeGraph以及CodeGraph效果实测经验分享
linux·运维·ubuntu
VortMall1 小时前
出海引流运维双升级|VortMall微服务商城系统v1.3.12 升级更新
运维·微服务·facebook
心念枕惊1 小时前
新写了个直播录制工具,可录制抖音快手斗鱼直播
运维·服务器·数据库
躺不平的理查德1 小时前
CMAKE备忘录
linux·运维·服务器
9624562 小时前
跨域与私有网络访问限制排查实录
运维·服务器·网络