{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-98401 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2026-98401 is a high-severity vulnerability in Linux, published on 14 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-98401 and fix it if it is affected.\n\nWhat it is: CVE-2026-98401 is a high-severity vulnerability in Linux, published on 14 Oct 2026. It can only be exploited from the same machine or local network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-98401 in the wild and no public exploit code.\n\nAffected product: Linux. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-98401/ (Markdown: https://insights.sbomify.com/CVE-2026-98401/index.md)","id":"CVE-2026-98401","markdown":"https://insights.sbomify.com/CVE-2026-98401/index.md","name":"CVE-2026-98401","record":{"aliases":["AZL-108141","BELL-CVE-2026-98401","DEBIAN-CVE-2026-98401","GHSA-c6hw-23wq-xx46","UBUNTU-CVE-2026-98401"],"analysis":{"component_type":"kernel","fix_type":"patch","impacts":["denial_of_service"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Linux kernel","requires_auth":"none","summary":"A stale transport header offset in Linux kernel tunnel decapsulation causes a kernel crash, leading to denial of service.","user_interaction":"not_required","vuln_class":"null_dereference"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"Linux","cpe":[],"cvss":{"score":7.5,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"},"cwes":[],"description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: iptunnel: fix stale transport header during tunnel decapsulation\n\nSyzbot reported a crash in qdisc_pkt_len_segs_init() caused by a stale\ntransport_header offset after tunnel decapsulation.\n\nBUG: unable to handle page fault for address: ffffed102091a42e\nOops: Oops: 0000 [#1] SMP KASAN NOPTI\nCPU: 0 UID: 0 PID: 340 Comm: qdisc_uaf_repro Not tainted 7.2.0-rc4-00061-g248951ddc14d #256 PREEMPT(full)\nHardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014\nRIP: 0010:__asan_load2\n\u003cIRQ\u003e\nqdisc_pkt_len_segs_init (net/core/dev.c:4145)\n__dev_queue_xmit (net/core/dev.c:4787)\nbr_dev_queue_push_xmit (net/bridge/br_forward.c:53)\nbr_handle_frame_finish (net/bridge/br_input.c:229)\nbr_handle_frame (net/bridge/br_input.c:315)\n__netif_receive_skb_core.constprop.0 (net/core/dev.c:6099)\n__netif_receive_skb_list_core (net/core/dev.c:6287)\nnetif_receive_skb_list_internal (net/core/dev.c:6445)\nnapi_complete_done (net/core/dev.c:6813)\ngro_cell_poll (net/core/gro_cells.c:74)\n__napi_poll (net/core/dev.c:7735)\nnet_rx_action (net/core/dev.c:7798 net/core/dev.c:7955)\nhandle_softirqs (kernel/softirq.c:622)\ndo_softirq (kernel/softirq.c:523  kernel/softirq.c:510 )\n__local_bh_enable_ip (kernel/softirq.c:450)\ntun_get_user (drivers/net/tun.c:1986 (discriminator 1))\ntun_chr_write_iter (drivers/net/tun.c:2032)\n\nThe issue is completely latent until qdisc read transport header in\ncommit 7fb4c1967011 (\"net: pull headers in qdisc_pkt_len_segs_init()\").\nThe crash requires four conditions to line up:\n\n1. The incoming packet is encapsulated and carries GSO metadata. The outer\n   transport header offset is stored in skb-\u003etransport_header while the\n   packet is still in the outer tunnel context.\n2. The tunnel receiver strips the outer headers. skb-\u003edata is advanced to\n   the inner frame, but skb-\u003etransport_header is left pointing to the\n   now-removed outer L4 header, so it becomes a negative offset relative to\n   the new data.\n3. The inner frame is not delivered to the local IP stack. Instead, it\n   is forwarded at L2 by a bridge or HSR, so ip_rcv_core() never runs and\n   the transport header is not reset to the inner L4 offset.\n4. The forwarding path calls __dev_queue_xmit(), which enters\n   qdisc_pkt_len_segs_init(). That function computes the GSO header length\n   from skb_transport_offset(skb). Because the offset is negative, the\n   unsigned cast overflows and pskb_may_pull(skb, hdr_len +\n   sizeof(struct tcphdr)) reads past the end of the skb, triggering a\n   KASAN fault or page fault.\n\nThe issue specifically requires GSO packets (shinfo-\u003egso_size != 0), which\nare processed/aggregated through gro_cells. Fix this by clearing\ntransport_header to the ~0U sentinel in gro_cell for all tunnnel driver.\nGTP does not support GRO/GSO, drop the evil GSO packets in GTP directly.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"net: iptunnel: fix stale transport header during tunnel decapsulation","id":"CVE-2026-98401","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"null_dereference","year":"2026"},"n_packages":0,"n_references":4,"next":{"headline":"net: icmp: avoid invalid transport header access in icmp_send tracepoint","id":"CVE-2026-98402"},"packages":[],"prev":{"headline":"s390/ipl: Fix NULL deref in kdump without re-IPL parm block","id":"CVE-2026-98400"},"products":["Linux"],"published":"2026-10-14","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":"PUBLISHED","updated":"2026-10-24","vendors":["Linux"]},"summary":"A stale transport header offset in Linux kernel tunnel decapsulation causes a kernel crash, leading to denial of service.","url":"https://insights.sbomify.com/CVE-2026-98401/"}