CVE-2026-72442 (GCVE-0-2026-72442)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:56 – Updated: 2026-08-17 05:44
VLAI
Title
netfilter: flowtable: fix and simplify IP6IP6 tunnel handling
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: flowtable: fix and simplify IP6IP6 tunnel handling Fix nf_flow_ip6_tunnel_proto() to use pskb_may_pull() instead of skb_header_pointer() to ensure the outer IPv6 header is in the skb headroom, which is required for subsequent packet processing. Move ctx->offset update inside the IPPROTO_IPV6 conditional block since it should only be adjusted when an IP6IP6 tunnel is actually detected. Simplify the rx path by removing ipv6_skip_exthdr() and checking ip6h->nexthdr directly, as the flowtable fast path only handles simple IP6IP6 encapsulation without extension headers. Drop the tunnel encapsulation limit destination option support from the tx path to match, since the rx path no longer handles extension headers. Remove the encap_limit parameter from nf_flow_offload_ipv6_forward(), nf_flow_tunnel_ip6ip6_push() and nf_flow_tunnel_v6_push(), along with the ipv6_tel_txoption struct and related headroom/MTU adjustments.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: d98103575dcdd3a730e0901ab457791a9ac6930c , < 7f8d816a9aa2729d270418f00c9ef5e85bfc1b31 (git)
Affected: d98103575dcdd3a730e0901ab457791a9ac6930c , < f4c2d8668d85ed125985da663c824a9c25498257 (git)
guessed Create a notification for this product.
Linux Linux Affected: 7.0
Unaffected: 0 , < 7.0 (semver)
Unaffected: 7.1.5 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "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-\u003eoffset 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-\u003enexthdr 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-\u003eoffset 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",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-72442",
      "date": "2026-09-01",
      "epss": "0.00554",
      "percentile": "0.44066"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-72442\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-15T06:22:18.063\",\"lastModified\":\"2026-08-17T06:19:11.597\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"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-\u003eoffset 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-\u003enexthdr 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.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"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\",\"versions\":[{\"version\":\"d98103575dcdd3a730e0901ab457791a9ac6930c\",\"lessThan\":\"7f8d816a9aa2729d270418f00c9ef5e85bfc1b31\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"d98103575dcdd3a730e0901ab457791a9ac6930c\",\"lessThan\":\"f4c2d8668d85ed125985da663c824a9c25498257\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"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\",\"versions\":[{\"version\":\"7.0\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"7.0\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.5\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"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}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/7f8d816a9aa2729d270418f00c9ef5e85bfc1b31\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/f4c2d8668d85ed125985da663c824a9c25498257\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-19T17:41:09+00:00",
      "cve": "CVE-2026-72442",
      "id": "CVE-2026-72442",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "90",
      "product_status:known_not_affected": "184",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: netfilter: flowtable: fix and simplify IP6IP6 tunnel handling",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-72442.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…