Live › vulnerability › CVE-2026-98570
Go to dashboardIn the Linux kernel, the seg6, ioam6 and rpl lightweight tunnels can write about 64 KB past a packet buffer when traffic is forwarded through a VLAN device with reorder_hdr off. The memory corruption can crash the kernel or potentially be used for code execution.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-23 21:57 UTC. All times on this page are UTC.
Hosts running the Linux kernel that use IPv6 segment routing (seg6), ioam6 or RPL lightweight tunnels and forward traffic through VLAN devices with reorder_hdr disabled. Systems without these encapsulation features enabled, or without VLAN forwarding on this path, are not reached by the reported trigger.
No product ranges from the sources yet.
Each row is the first time that source carried this signal. The analyst’s rows are its own findings.
In the Linux kernel, the following vulnerability has been resolved:
net: ipv6: keep room for the mac header in dst_dev_overhead()
The seg6, ioam6 and rpl lwtunnels size their skb_cow_head() request as the length they are about to push plus dst_dev_overhead(), then push the new headers and rebuild the mac header below them with skb_mac_header_rebuild(). That rebuild needs skb->mac_len of headroom, but dst_dev_overhead() leaves LL_RESERVED_SPACE() of the egress device, 16 bytes for plain Ethernet.
Where the mac header is longer than that, as it is on ingress through a VLAN device with reorder_hdr off, the rebuild runs out of room: skb_set_mac_header(skb, -skb->mac_len) computes a negative offset, stores it unchecked in the u16 skb->mac_header, and the memmove that follows writes skb->mac_len bytes about 64 KB past skb->head. Forwarding plain ping6 traffic through such a device reproduces it on all five seg6 encapsulation modes and on the rpl and ioam6 inline paths; skb->mac_header comes back as 65534 on a 704-byte head.
Return the larger of the two. The helper already returns skb->mac_len when it has no dst, so this only makes the other branch agree, and it covers every caller rather than each call site in turn.
This page as .md · .json · in your agent: get_signal("CVE-2026-98570")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.