ZeroHour

CVE-2026-80976

niche

Out-of-bounds read via stale IP6CB in Linux kernel SRv6 decapsulation (End.DX6/End.DT6)

CVSS 3.1
9.8 critical
EPSS
Published
()
Modified
AI analysis

The Linux kernel's SRv6 implementation fails to reset the IPv6 control block (IP6CB) after decap_and_validate() strips the outer SRv6 headers, so stale nhoff offsets and extension-header flags from the outer packet persist when End.DX6/End.DT6 forward the inner packet into the IPv6 input path. An unprivileged local user with access to a user and network namespace can install a local SID and inject an outer packet containing Hop-by-Hop and Destination Options headers plus an SRH and a minimal inner IPv6 packet; the leftover large nhoff then makes ip6_protocol_deliver_rcu() read beyond the skb head, confirmed by KASAN as a slab-out-of-bounds read. The direct impact is an out-of-bounds read in kernel memory, which plausibly enables denial of service and potential information disclosure, and CVSS 3.1 has been assigned at 9.8 (critical, network vector, no privileges required). Systems affected are Linux kernels with SRv6 (seg6) support enabled where End.DX6/End.DT6 local SIDs can be reached, including multi-tenant hosts where unprivileged users can create user/network namespaces. No public PoC is known and there is no evidence of in-the-wild exploitation; the issue is not on the CISA KEV list.

What to do: Apply a kernel update that contains the seg6 fix (which clears IP6CB for the inner packet, restores the saved interface index and L3 slave state, and sets nhoff to the inner base header's nexthdr). If patching is delayed, restrict unprivileged user/network namespaces (e.g., set user.max_user_namespaces=0 or disable unprivileged userns) and avoid configuring SRv6 End.DX6/End.DT6 local SIDs reachable from untrusted sources. Audit hosts to see whether the seg6 module is loaded and whether any SRv6 local SIDs are configured, and monitor for kernel slab-out-of-bounds reports from ip6_protocol_deliver_rcu.

Affected
Linux kernel
Estimated exposure
nicheunknown; plausibly on the order of thousands of systems — SRv6-enabled Linux routers/hosts and unprivileged-userns multi-tenant servers — Triggering the bug requires SRv6 local SIDs (End.DX6/End.DT6) or the ability to install them from an unprivileged user/network namespace, a configuration common mainly in ISP, research, and software-router deployments rather than typical…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

In the Linux kernel, the following vulnerability has been resolved: seg6: reset IP6CB after IPv6 decapsulation decap_and_validate() pulls the outer SRv6 headers and makes the inner packet the skb network header. The IPv6 control block still contains values collected while parsing the outer packet, including nhoff and extension-header flags. End.DX6 and End.DT6 route the inner IPv6 packet directly to the IPv6 input path. An unprivileged user can reach End.DT6 from a user and net namespace by installing a local SID and injecting an outer packet with Hop-by-Hop and Destination Options headers followed by an SRH and a minimal inner IPv6 packet. The outer extension headers leave a large nhoff in IP6CB. After decapsulation, ip6_protocol_deliver_rcu() uses that stale offset on the inner packet and reads beyond the skb head. KASAN reports: BUG: KASAN: slab-out-of-bounds in ip6_protocol_deliver_rcu ip6_protocol_deliver_rcu+0x1118/0x1450 ip6_input_finish+0x11b/0x240 seg6_local_input_core+0xed/0x2e0 lwtunnel_input+0x1e9/0x4e0 ipv6_rthdr_rcv+0x525f/0x6c50 ip6_protocol_deliver_rcu+0xcb7/0x1450 Before clearing IP6CB for an inner IPv6 packet, save its incoming interface index and L3 slave state. Restore both after the clear and set nhoff to the inner IPv6 base-header nexthdr field. Use IP6CB(skb)->iif rather than skb->skb_iif because VRF processing can replace skb_iif with the L3 master while IP6CB keeps the receiving interface. Preserve IP6SKB_L3SLAVE for the same reason.

Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

In the news

No ingested article mentions this CVE yet.