{"id":21309,"date":"2026-09-12T04:31:00","date_gmt":"2026-09-11T20:31:00","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80976"},"modified":"2026-09-12T04:31:00","modified_gmt":"2026-09-11T20:31:00","slug":"cve-2026-80976","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80976","title":{"rendered":"CVE-2026-80976 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nseg6: reset IP6CB aft"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>seg6: reset IP6CB after IPv6 decapsulation<\/p>\n<p>decap_and_validate() pulls the outer SRv6 headers and makes the inner<br \/>\npacket the skb network header. The IPv6 control block still contains<br \/>\nvalues collected while parsing the outer packet, including nhoff and<br \/>\nextension-header flags.<\/p>\n<p>End.DX6 and End.DT6 route the inner IPv6 packet directly to the IPv6<br \/>\ninput path. An unprivileged user can reach End.DT6 from a user and net<br \/>\nnamespace by installing a local SID and injecting an outer packet with<br \/>\nHop-by-Hop and Destination Options headers followed by an SRH and a<br \/>\nminimal inner IPv6 packet.<\/p>\n<p>The outer extension headers leave a large nhoff in IP6CB. After<br \/>\ndecapsulation, ip6_protocol_deliver_rcu() uses that stale offset on the<br \/>\ninner packet and reads beyond the skb head. KASAN reports:<\/p>\n<p>  BUG: KASAN: slab-out-of-bounds in ip6_protocol_deliver_rcu<br \/>\n  ip6_protocol_deliver_rcu+0x1118\/0x1450<br \/>\n  ip6_input_finish+0x11b\/0x240<br \/>\n  seg6_local_input_core+0xed\/0x2e0<br \/>\n  lwtunnel_input+0x1e9\/0x4e0<br \/>\n  ipv6_rthdr_rcv+0x525f\/0x6c50<br \/>\n  ip6_protocol_deliver_rcu+0xcb7\/0x1450<\/p>\n<p>Before clearing IP6CB for an inner IPv6 packet, save its incoming<br \/>\ninterface index and L3 slave state. Restore both after the clear and set<br \/>\nnhoff to the inner IPv6 base-header nexthdr field.<\/p>\n<p>Use IP6CB(skb)-&gt;iif rather than skb-&gt;skb_iif because VRF processing can<br \/>\nreplace skb_iif with the L3 master while IP6CB keeps the receiving<br \/>\ninterface. Preserve IP6SKB_L3SLAVE for the same reason.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>seg6: reset IP6CB after IPv6 decapsulation<\/p>\n<p>decap_and_validate() pulls the outer SRv6 headers and makes the inner<br \/>\npacket the skb ne<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21309","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21309","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21309"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}