{"api_version":"1","generated_at":"2026-08-22T00:56:19+00:00","cve":"CVE-2026-72442","urls":{"html":"https://cve.report/CVE-2026-72442","api":"https://cve.report/api/cve/CVE-2026-72442.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-72442","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-72442"},"summary":{"title":"netfilter: flowtable: fix and simplify IP6IP6 tunnel handling","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: flowtable: fix and simplify IP6IP6 tunnel handling\n\nFix nf_flow_ip6_tunnel_proto() to use pskb_may_pull() instead of\nskb_header_pointer() to ensure the outer IPv6 header is in the skb\nheadroom, which is required for subsequent packet processing. Move\nctx->offset update inside the IPPROTO_IPV6 conditional block since it\nshould only be adjusted when an IP6IP6 tunnel is actually detected.\nSimplify the rx path by removing ipv6_skip_exthdr() and checking\nip6h->nexthdr directly, as the flowtable fast path only handles simple\nIP6IP6 encapsulation without extension headers.\nDrop the tunnel encapsulation limit destination option support from the\ntx path to match, since the rx path no longer handles extension headers.\nRemove the encap_limit parameter from nf_flow_offload_ipv6_forward(),\nnf_flow_tunnel_ip6ip6_push() and nf_flow_tunnel_v6_push(), along with\nthe ipv6_tel_txoption struct and related headroom/MTU adjustments.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-08-15 06:22:18","updated_at":"2026-08-17 06:19:11"},"problem_types":[],"metrics":[{"version":"3.1","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","score":"9.8","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"9.8","severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"baseScore":9.8,"baseSeverity":"CRITICAL","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://git.kernel.org/stable/c/7f8d816a9aa2729d270418f00c9ef5e85bfc1b31","name":"https://git.kernel.org/stable/c/7f8d816a9aa2729d270418f00c9ef5e85bfc1b31","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/f4c2d8668d85ed125985da663c824a9c25498257","name":"https://git.kernel.org/stable/c/f4c2d8668d85ed125985da663c824a9c25498257","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-72442","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72442","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d98103575dcdd3a730e0901ab457791a9ac6930c 7f8d816a9aa2729d270418f00c9ef5e85bfc1b31 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d98103575dcdd3a730e0901ab457791a9ac6930c f4c2d8668d85ed125985da663c824a9c25498257 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 7.0","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.5 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"72442","cve":"CVE-2026-72442","epss":"0.005530000","percentile":"0.435850000","score_date":"2026-08-17","updated_at":"2026-08-18 00:11:47"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["net/ipv6/ip6_tunnel.c","net/netfilter/nf_flow_table_ip.c","tools/testing/selftests/net/netfilter/nft_flowtable.sh"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"7f8d816a9aa2729d270418f00c9ef5e85bfc1b31","status":"affected","version":"d98103575dcdd3a730e0901ab457791a9ac6930c","versionType":"git"},{"lessThan":"f4c2d8668d85ed125985da663c824a9c25498257","status":"affected","version":"d98103575dcdd3a730e0901ab457791a9ac6930c","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["net/ipv6/ip6_tunnel.c","net/netfilter/nf_flow_table_ip.c","tools/testing/selftests/net/netfilter/nft_flowtable.sh"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"7.0"},{"lessThan":"7.0","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.5","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.5","versionStartIncluding":"7.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2","versionStartIncluding":"7.0","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: flowtable: fix and simplify IP6IP6 tunnel handling\n\nFix nf_flow_ip6_tunnel_proto() to use pskb_may_pull() instead of\nskb_header_pointer() to ensure the outer IPv6 header is in the skb\nheadroom, which is required for subsequent packet processing. Move\nctx->offset update inside the IPPROTO_IPV6 conditional block since it\nshould only be adjusted when an IP6IP6 tunnel is actually detected.\nSimplify the rx path by removing ipv6_skip_exthdr() and checking\nip6h->nexthdr directly, as the flowtable fast path only handles simple\nIP6IP6 encapsulation without extension headers.\nDrop the tunnel encapsulation limit destination option support from the\ntx path to match, since the rx path no longer handles extension headers.\nRemove the encap_limit parameter from nf_flow_offload_ipv6_forward(),\nnf_flow_tunnel_ip6ip6_push() and nf_flow_tunnel_v6_push(), along with\nthe ipv6_tel_txoption struct and related headroom/MTU adjustments."}],"metrics":[{"cvssV3_1":{"baseScore":9.8,"baseSeverity":"CRITICAL","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"scenarios":[{"lang":"en","value":"AV:N - Crafted IPv6/IP6IP6 packets reach nf_flow_offload_ipv6_hook through netfilter ingress/forward on interfaces bound to an nftables flowtable (the intended edge-router use case); remote senders trigger the path without local access.\nAC:L - The attacker controls packet layout (non-linear skbs, tunnel/extension-header shapes) and can establish offloaded TCP/UDP flows through the router; no race or other condition outside attacker control is needed once flowtable and IP6IP6 are deployed.\nPR:N - Flowtable and IP6IP6 tunnel setup are administrator deployment prerequisites; a remote attacker sending traffic through an already configured gateway needs no credentials or capabilities on the victim host.\nUI:N - Exploitation is driven entirely by network packets processed automatically in softirq on the forwarding path; no victim user action is required beyond normal routing through the affected system.\nS:U - Out-of-bounds skb parsing and resulting kernel memory corruption remain within the host kernel security authority; this is standard kernel compromise, not a VM escape, IOMMU bypass, or sandbox boundary crossing.\nC:H - Using skb_header_pointer without pskb_may_pull lets later skb_network_header()+offset reads access non-linear or out-of-bounds data; per CNA guidance, exploitable out-of-bounds kernel reads and memory-unsafe parsing warrant High confidentiality impact.\nI:H - Incorrect ctx->offset and tun.hdr_size drive skb_ensure_writable, skb_pull, and nf_flow_nat_ipv6 on misaligned headers, corrupting kernel packet metadata with attacker-influenced writes that can be leveraged for arbitrary modification or code execution.\nA:H - Mis-parsed tunnel headers and out-of-bounds accesses in the flowtable IPv6 fast path can trigger kernel oops or panic while forwarding, enabling remote denial of service against routers and gateways running this configuration."}]}],"providerMetadata":{"dateUpdated":"2026-08-17T05:44:15.340Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/7f8d816a9aa2729d270418f00c9ef5e85bfc1b31"},{"url":"https://git.kernel.org/stable/c/f4c2d8668d85ed125985da663c824a9c25498257"}],"title":"netfilter: flowtable: fix and simplify IP6IP6 tunnel handling","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-72442","datePublished":"2026-08-15T05:56:53.941Z","dateReserved":"2026-08-09T03:40:39.930Z","dateUpdated":"2026-08-17T05:44:15.340Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-15 06:22:18","lastModifiedDate":"2026-08-17 06:19:11","problem_types":[],"metrics":{"cvssMetricV31":[{"source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":5.9}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"72442","Ordinal":"1","Title":"netfilter: flowtable: fix and simplify IP6IP6 tunnel handling","CVE":"CVE-2026-72442","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"72442","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: flowtable: fix and simplify IP6IP6 tunnel handling\n\nFix nf_flow_ip6_tunnel_proto() to use pskb_may_pull() instead of\nskb_header_pointer() to ensure the outer IPv6 header is in the skb\nheadroom, which is required for subsequent packet processing. Move\nctx->offset update inside the IPPROTO_IPV6 conditional block since it\nshould only be adjusted when an IP6IP6 tunnel is actually detected.\nSimplify the rx path by removing ipv6_skip_exthdr() and checking\nip6h->nexthdr directly, as the flowtable fast path only handles simple\nIP6IP6 encapsulation without extension headers.\nDrop the tunnel encapsulation limit destination option support from the\ntx path to match, since the rx path no longer handles extension headers.\nRemove the encap_limit parameter from nf_flow_offload_ipv6_forward(),\nnf_flow_tunnel_ip6ip6_push() and nf_flow_tunnel_v6_push(), along with\nthe ipv6_tel_txoption struct and related headroom/MTU adjustments.","Type":"Description","Title":"netfilter: flowtable: fix and simplify IP6IP6 tunnel handling"}]}}}