{
  "affected": [
    {
      "ecosystem_specific": {
        "urgency": "not yet assigned"
      },
      "package": {
        "ecosystem": "Debian:12",
        "name": "linux"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "6.1.187-1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "ecosystem_specific": {
        "urgency": "not yet assigned"
      },
      "package": {
        "ecosystem": "Debian:13",
        "name": "linux"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "ecosystem_specific": {
        "urgency": "not yet assigned"
      },
      "package": {
        "ecosystem": "Debian:14",
        "name": "linux"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "7.1.13-1"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "details": "In the Linux kernel, the following vulnerability has been resolved:  ipv6: seg6: clear IPv4 control block on IPIP decapsulation  End.DX4 and End.DT4 decapsulate an IPv4 packet through decap_and_validate() and send it directly to IPv4 routing. The inner packet therefore bypasses ip_rcv_core(), which normally clears IPCB before IPv4 interprets skb-\u003ecb.  The skb instead retains IP6CB data from the outer packet. IP6CB and IPCB use the same skb-\u003ecb storage, so IP6CB(skb)-\u003elastopt overlaps IPCB(skb)-\u003eopt.optlen and srr, while IP6CB(skb)-\u003enhoff overlaps rr and ts.  The sender can make the stale optlen byte nonzero with a valid outer extension-header chain. The reproducers put an eight-byte Destination Options header immediately after the 40-byte IPv6 header and before the Segment Routing Header. ipv6_destopt_rcv() records the sender-controlled Destination Options offset in both lastopt and nhoff, setting them to 40. On the reproduced little-endian x86-64 kernel, IPv4 therefore sees optlen = 40 and rr = 40.  Both tcp_v4_save_options() and __ip_options_echo() skip option copying when optlen is zero. Here optlen is 40, so the TCP SYN path allocates room for 40 bytes of option data and calls __ip_options_echo(). The stale rr value makes that function read inner packet byte 41 as the Record Route option length. The reproducers set that sender-controlled byte to 255, so __ip_options_echo() copies 255 bytes into the 40-byte option-data area.  Separate End.DX4 and End.DT4 reproducers on the unpatched v7.2-rc5 kernel both produced:    BUG: KASAN: slab-out-of-bounds in __ip_options_echo()   Write of size 255  The relevant End.DX4 call path is:    __ip_options_echo   tcp_v4_route_req   tcp_conn_request   tcp_v4_conn_request   tcp_rcv_state_process   tcp_v4_do_rcv   tcp_v4_rcv   ip_protocol_deliver_rcu   ip_local_deliver_finish   ip_local_deliver   input_action_end_dx4_finish   input_action_end_dx4  The relevant End.DT4 call path is:    __ip_options_echo   tcp_v4_route_req   tcp_conn_request   tcp_v4_conn_request   tcp_rcv_state_process   tcp_v4_do_rcv   tcp_v4_rcv   ip_protocol_deliver_rcu   ip_local_deliver_finish   ip_local_deliver   input_action_end_dt4  tcp_v4_save_options() is inlined into the tcp_v4_route_req() path, so it does not appear as a separate frame.  When decap_and_validate() handles IPPROTO_IPIP, save the ingress interface from IP6CB, clear IPCB, and restore the saved value. Doing this in the common decapsulation path covers End.DX4, End.DT4, and End.DT46's IPv4 arm.  Use IP6CB(skb)-\u003eiif rather than skb-\u003eskb_iif. These actions run after l3mdev processing, which can replace skb_iif with the L3 master; IP6CB iif still records the receiving interface set at IPv6 ingress.",
  "id": "DEBIAN-CVE-2026-80840",
  "modified": "2026-09-14T16:47:44.964938321Z",
  "published": "2026-09-04T16:18:12.440Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://security-tracker.debian.org/tracker/CVE-2026-80840"
    }
  ],
  "upstream": [
    "CVE-2026-80840"
  ]
}