CVE-2026-53362:Linux 内核 IPv6 分片路径曝越界写入漏洞,本地用户可直接提权到 root

事件概述

2026 年 8 月 27 日,美国 CISA 将 Linux 内核 CVE-2026-53362 加入其 KEV(Known Exploited Vulnerabilities)已知被利用漏洞目录,并要求联邦民事行政机构在 2026 年 8 月 30 日前完成修补。该漏洞内核组织评定 CVSS v3.1 7.8 分,漏洞别名 “Frag Gap”,漏洞编号被 Linux 内核维护者保留用于追踪 ipv6: account for fraggap on the paged allocation path 这一长期未注意的分片边界计算偏差。

CVE-2026-53362 影响范围横跨 SUSE、Red Hat、Debian、Ubuntu LTS 等几乎所有主流发行版,以及任何使用受影响内核的云服务与容器平台。本地低权账户借助该缺陷可以触发 越界内存写入,逃逸所在容器、获取宿主机 root,并对虚拟化、云函数、CI 构建节点等共享内核场景构成系统性威胁。

技术细节

漏洞根因

漏洞位于 Linux 内核网络子系统的 __ip6_append_data() 函数。当 IPv6 输出路径走分页分配(paged allocation)分支时,例如 MSG_MORENETIF_F_SG 或大分片长度 fraglen 触发时,内核先按下面的公式计算两个关键长度:

alloclen = fragheaderlen + transhdrlen;
pagedlen  = datalen    - transhdrlen;

问题在于 fragheaderlen 中其实已经包含了一个“fraggap”余量,用来在分段时对齐后续分片;但 alloclen 在分配页面时只考虑了头部,没有把这个余量算进分页长度,导致后续 copy = max(datalen - transhdrlen, pagedlen) 的拷贝步骤越过 实际分配的页尾,落入相邻内核对象的内存区域,形成越界写入。

攻击向量

攻击者只需要一段本地 shell 权限(容器内部账户、SSH 用户、本地服务账号均可),向本机 socket(AF_INET6, SOCK_RAW, IPPROTO_RAW) 写入一个具备以下特征的负载即可触发:

  • 使用 MSG_MORE 标志强制走 paged 分支
  • fraglen 设置为可对齐到 fraggap 边界、且超出分配页面长度的值
  • 后续 sendmsg() 在已被部分消耗的 socket 上写满分片

公开的 PoC(例如 GitHub 上 ekomsSavior/chimera-lpe-chain 等仓库)已经在社区流传,CISA 的快速响应正是基于“已有可工作的概念验证且野外出现攻击”这一判断。

影响评估

Linux 内核组织评定 CVSS v3.1 7.8,向量 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H——本地、低复杂度、低权限、用户无需交互即可获得主机控制权。EPSS 将该漏洞 30 天内被利用概率列为 “高于 18% 的 CVE”,结合 Frag Gap 配套披露的 CVE-2026-53366(同为 UDP MSG_SPLICE_PAGES 分片边界处理缺陷),实际上已经形成一套本地提权与容器逃逸的组合拳。

对业务的影响主要体现在三个层面:

  • 共享主机与云函数:低权容器用户可直接读取宿主机内存、注入任意进程,破坏多租户隔离。
  • CI/CD 构建节点:构建任务被沙箱化,但漏洞一旦被利用,沙箱内可控账户可以拿下宿主机,进而污染后续工件。
  • 企业内网 Linux 服务器:本地用户、运维误操作、第三方驻场服务等都可作为跳板,先提权再横向移动,对暴露 Samba/NFS/internal API 的资产冲击尤为直接。

修复建议

立即修补

  • 应用上游稳定补丁:14200d435af965fb14cbebb046f201f8b4c36374fb9edf72e9eacf19281e736b380e28d0 等多个 net/ipv6/output.cnet/ipv6/ip6_output.c 提交。
  • 使用发行版内核包更新:SUSE、Red Hat(RHSB-2026-009 通告)、Debian LTS(DSA-6381-1)、Ubuntu、Azure Linux 镜像。
  • 无法立刻重启内核的节点:可临时禁用 IPv6(sysctl -w net.ipv6.conf.all.disable_ipv6=1),并在应用层阻断对外的 AF_INET6 raw socket 创建。

检测与告警

  • 在 EDR 上对 socket(AF_INET6, SOCK_RAW, IPPROTO_RAW) + MSG_MORE + 大 fraglen 的组合调用告警。
  • 使用 auditd 规则监控 cap_net_raw 能力异常的进程,特别是容器内的 sidecar、构建脚本。
  • 对接到 SIEM 的 Linux 节点,开启 audit:ipv6_pkt:drop 与 namespace 异常变化事件。

纵深防御

  • 在容器编排层启用 seccomp / AppArmor 策略显式禁用 CAP_NET_RAW 或禁用 socket(AF_INET6, SOCK_RAW, ...) 系统调用。
  • 启用 kernel.unprivileged_userns_clone=0kernel.unprivileged_bpf_disabled=1 等最小权限 sysctl。
  • 对共享 Kubernetes 节点使用 securityContext.capabilities.drop: ["NET_RAW"] 并将 Pod 沙箱化。
  • 凭证轮换:宿主 root 失陷后立即轮换云密钥、CI runner token、镜像仓库凭证。

参考来源