文章总结: CVE-2026-80844是Linux内核IPv6AH6路由头重排越界漏洞,可致内核越界读写、崩溃或本地提权。触发需原始IPv6hdrincl套接字及AH6策略,非特权用户命名空间可提升风险。上游已修复,建议升级内核、禁用非特权用户命名空间及卸载ah6模块,并加强监控。
综合评分: 85
文章分类: 漏洞分析,应急响应,安全建设
CVE-2026-80844:Linux 内核 IPv6 AH6 路由头重排越界漏洞
deadbeef
deadbeef
deadbeef
2026年9月21日 10:08
四川
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
一、漏洞简介
1.1 漏洞原理
Linux 内核在计算/校验 ICV(完整性校验值) 之前,会调用 ipv6_rearrange_rthdr() 对 IPv6 路由头(Routing Header,Type 0 及同类结构)中的地址做重排。它默认假定两件事是成立的:
- 路由头的
hdrlen所描述的地址数量 ≥segments_left; - 即地址指针不会向后移动超过实际存在的地址区。
但这两条“不变量”对原始 IPv6 HDRINCL 报文并不成立。攻击者可以构造一个 hdrlen=2(按标准只描述 1 个地址)、但 segments_left 被填到 255 的路由头。代码按 segments_left 反向推算地址指针,会把指针向前(反向)移动约 255×16 = 4064 字节,随后将 4064 字节 的长度传入 memmove(),从而引发:
- 内核堆/报文缓冲区的越界读 + 越界写(CWE-787 / CWE-119);
- 内存损坏、ICV 校验逻辑异常;
- 典型触发后果是内核 oops / panic(DoS);在特定内存布局下可进一步用于本地提权(LPE)。
修复方式:上游在 AH6 的输入/输出路径上,先校验 segments_left 与 hdrlen 所表示的地址数是否一致;畸形包直接进入错误分支,不再执行指针算术和 memmove()。
1.2 漏洞要点小结
| 项目 | 内容 |
| — | — |
| 漏洞组件 | Linux 内核 net/ipv6/ah6.c 相关 XFRM AH6 处理,涉及 ipv6_rearrange_rthdr() 路径 |
| 漏洞类型 | 内核内存越界(读+写),潜在本地提权 / 内核崩溃 |
| 触发前提 | 原始 IPv6 HDRINCL 套接字 + AH6 策略参与报文处理 |
| 典型后果 | 内核 oops / panic(DoS),特定内存布局下可本地提权 |
二、利用条件
2.1 本地提权(主要风险)
- 普通用户能够创建/使用网络命名空间,尤其是开启了非特权用户命名空间(
unprivileged userns); - 能通过原始套接字 /
HDRINCL构造畸形 IPv6 路由头,或在本机 AH6 策略处理的报文路径上注入; - 内核启用了 IPv6、XFRM/IPsec AH6(含
ah6、xfrm 相关代码); - 已有研究者在 2026-09 公开 PoC,声称可在特定内核构建下实现本地到 root 提权;但该 PoC 对内核版本/内存布局敏感,并非通用的一键提权。
2.2 远程 / 网络侧(主要体现为 DoS)
- 目标作为 IPv6 路由器/网关,对入向流量套用 IPsec AH 传输模式;
- 攻击者可向该节点发送携带畸形 IPv6 路由头的 AH 报文;
- 极端条件下研究者称在实验室中做过“远程 root”,但依赖前期的内存 grooming,实际公网利用难度极大;通常仍按“远程内核崩溃 / 拒绝服务”评估。
💡 若主机完全不用 IPv6 IPsec AH、不加载
ah6、不做 IPv6 路由转发,则实际可达性会大幅下降。
三、影响范围
3.1 组件与类型
- 受影响组件:Linux 内核
net/ipv6/ah6.c相关 XFRM AH6、ipv6_rearrange_hdr路径;涉及原始 IPv6HDRINCL与 AH 输入/输出。 - 漏洞类型:内核内存越界,潜在本地提权、内核崩溃。
3.2 漏洞评分(各方口径略有差异)
- Oracle / 部分发行商:CVSS v3.1 7.8,
AV:L/AC:L/PR:L/UI:N,机密/完整/可用全高(按“本地低权”计算); - SUSE:同样为 v3.1 7.8 本地重要级;另补充 v4.0 8.3、
AV:A(相邻网络)场景; - NVD:目前已收录,但 NIST 基础分尚未给出,目前仅引用上游描述。
3.3 发行版状态(已核实部分)
-
上游修复:修复 commit 如
7bad4bda74dc…(在 7.3-rc1 引入),stable 分支已做多个 backport; -
Debian:
-
bookworm:6.1.176 / 安全 6.1.180 —— vulnerable
-
trixie:6.12.94 / 安全 6.12.107 —— vulnerable
-
forky:7.1.12 —— vulnerable;sid:7.1.13-1 fixed
-
Oracle Linux UEK:7/8/9/10 相关
ELSA-2026-500328/329/330系列,2026-09-17 出补丁; -
SUSE:整体 pending;Tumbleweed
kernel-source ≥ 7.2.5-1已列为修复,其余企业版以 SUSE 公告产品矩阵为准; -
Azure Linux 3:
kernel受影响记录到6.6.150.1-1(OSV 导入,具体修复版见其公告)。
⚠️ 其余发行版(Ubuntu / RHEL / CentOS Stream / Gentoo 等)需分别查询各自安全跟踪器。该 CVE 属于内核网络子系统,理论上所有启用 IPv6 AH6 的版本都处于关注范围,但是否修复取决于受影响版本的内核小版本与 backport 进度。
四、本地复现
- 复现环境:
Linux ubuntu24-04 6.17.0-35-generic #35~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 19:30:42 UTC 2026 x86_64 GNU/Linux
五、修复与加固建议
- 及时升级内核:将内核升级到包含修复 commit 的版本(或对应的发行版安全补丁);
- 关注各发行版安全公告:Ubuntu、RHEL、Oracle、SUSE、Debian 等;
- 在不影响业务的前提下:
- 禁用非特权用户命名空间(
sysctl kernel.unprivileged_userns_clone=0); - 卸载/不加载
ah6模块; - 关闭不必要的 IPv6 路由转发;
- 加强监控:对异常 IPv6 报文、内核 oops/panic 事件做告警。
参考:上游 oss-security 公告、Linux 内核
net/ipv6/ah6.c补丁、各发行版安全跟踪器(OSV、NVD)。
文章仅用于技术交流与漏洞研究,请勿用于非法用途。
POC获取关注私信CVE-2026-80844
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:deadbeef deadbeef
deadbeef《CVE-2026-80844:Linux 内核 IPv6 AH6 路由头重排越界漏洞》