CVE-2026-43501
ipv6: rpl: 当重压缩的 SRH 增长时为 mac_len 预留头部空间
- 已发布
- 2026年5月21日
- 已更新
- 2026年9月8日
- 分配 CNA
- Linux
- 观察到的证据
- 2026年8月7日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H低 · 未来 30 天
- 百分位
- 49.4%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
在 Linux 内核中,以下漏洞已被修复:ipv6: rpl: 在重新压缩的 SRH 增长时保留 mac_len 头部空间(headroom)。ipv6_rpl_srh_rcv() 解压缩一个 RFC 6554 源路由头(Source Routing Header),将下一段交换到 ipv6_hdr->daddr,重新压缩,然后拉出旧头,并将新头以及 IPv6 头推回。当交换减少了各段与 daddr 共享的共同前缀长度时(CmprI=0, CmprE>0, seg[0][0] != daddr[0] 时最大增加 +8 字节),重新压缩后的头可能比接收到的头更大。pskb_expand_head() 的调用条件是 segments_left == 0,因此在较早的段上,push 操作会消耗未经检查的头部空间。一旦 skb_push() 使数据前方剩余的字节数少于 skb->mac_len,skb_mac_header_rebuild() 调用: skb_set_mac_header(skb, -skb->mac_len); 会将 (data - head) - mac_len 存入 u16 类型的 mac_header 字段,该值回绕到约 65530,随后的 memmove() 会越界写出 mac_len 字节约 64KiB 到 skb->head 之外。一个经由 lo 接口、携带两段类型 3 SRH(CmprI=0, CmprE=15)的 AF_INET6/SOCK_RAW/IPV6_HDRINCL 报文,在经过一次处理后 headroom 降至 8;KASAN 报告在 ipv6_rthdr_rcv 中发生 14 字节的越界(OOB)写入。修复方法是:只要剩余空间小于 push 大小加上 mac_len,就扩展头部(head),并请求相应额外空间,以便之后重建的 MAC 头能够放下。
来源
1Termux 权限提升工具和Root管理器 - CVE-2026-43501
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。