CVE-2026-72249 (GCVE-0-2026-72249)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:54 – Updated: 2026-08-17 05:42
VLAI
Title
netfilter: flowtable: use dst in this direction when pushing IPIP header
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: flowtable: use dst in this direction when pushing IPIP header When pushing the IPIP header, the route of the other direction is used to calculate the headroom, use the route in this direction. Accessing the other tuple to set the IP source and destination is fine because this tuple does not provide such information to avoid storing redundant information. However, this tuple already provides the dst for this direction, this went unnoticed because this bug affects headroom and iph->frag_off only at this stage.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: d30301ba4b07ac92eb38353a111833b009003170 , < ecb78fbb03d3f86e2e93767875e273308086a424 (git)
Affected: d30301ba4b07ac92eb38353a111833b009003170 , < c328b90c17fc5fa7786503695152880b2afb9326 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.19
Unaffected: 0 , < 6.19 (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/netfilter/nf_flow_table_ip.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "ecb78fbb03d3f86e2e93767875e273308086a424",
              "status": "affected",
              "version": "d30301ba4b07ac92eb38353a111833b009003170",
              "versionType": "git"
            },
            {
              "lessThan": "c328b90c17fc5fa7786503695152880b2afb9326",
              "status": "affected",
              "version": "d30301ba4b07ac92eb38353a111833b009003170",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/netfilter/nf_flow_table_ip.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.19"
            },
            {
              "lessThan": "6.19",
              "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": "6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: flowtable: use dst in this direction when pushing IPIP header\n\nWhen pushing the IPIP header, the route of the other direction is used\nto calculate the headroom, use the route in this direction. Accessing\nthe other tuple to set the IP source and destination is fine because\nthis tuple does not provide such information to avoid storing redundant\ninformation. However, this tuple already provides the dst for this\ndirection, this went unnoticed because this bug affects headroom and\niph-\u003efrag_off only at this stage."
        }
      ],
      "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 - The bug is hit in the netfilter flowtable ingress fast path when offloaded TCP/UDP packets are received on bound netdevs and tunnel encapsulation runs; a remote peer can trigger it by sending traffic through an IPIP flow-offload gateway without local access.\nAC:L - After a flow is offloaded (easily created by the attacker\u0027s own connections), asymmetric IPIP gateway routing predictably makes the reverse-direction dst underestimate headroom, so skb_cow_head undersizes and skb_push corrupts memory on each matching packet.\nPR:N - The attacker only needs to send network packets that match an established offloaded flow; nftables flowtable/IPIP setup is an administrator deployment precondition, not a privilege the attacker must hold on the target system.\nUI:N - No victim user action is required beyond normal network traffic once flow offload is enabled; exploitation is driven entirely by packets the attacker sends to the gateway.\nS:U - Impact is confined to kernel heap memory corruption and potential local privilege escalation within the same host; it does not cross VM, container, or IOMMU security boundaries.\nC:H - Undersized headroom lets skb_push write before skb-\u003ehead, causing out-of-bounds heap corruption that can expose adjacent kernel objects and be leveraged into arbitrary memory disclosure primitives.\nI:H - The same skb head underflow is a writable heap corruption primitive that can overwrite adjacent allocator metadata or object contents and be developed into arbitrary kernel code execution.\nA:H - Heap corruption from skb_push underflow can immediately kernel oops/panic the system or be triggered repeatedly to deny service on an internet-facing VPN/edge gateway."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:42:01.084Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/ecb78fbb03d3f86e2e93767875e273308086a424"
        },
        {
          "url": "https://git.kernel.org/stable/c/c328b90c17fc5fa7786503695152880b2afb9326"
        }
      ],
      "title": "netfilter: flowtable: use dst in this direction when pushing IPIP header",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72249",
    "datePublished": "2026-08-15T05:54:37.914Z",
    "dateReserved": "2026-08-09T03:40:39.914Z",
    "dateUpdated": "2026-08-17T05:42:01.084Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-72249",
      "date": "2026-08-27",
      "epss": "0.00516",
      "percentile": "0.41772"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-72249\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-15T06:21:52.150\",\"lastModified\":\"2026-08-17T06:18:26.890\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnetfilter: flowtable: use dst in this direction when pushing IPIP header\\n\\nWhen pushing the IPIP header, the route of the other direction is used\\nto calculate the headroom, use the route in this direction. Accessing\\nthe other tuple to set the IP source and destination is fine because\\nthis tuple does not provide such information to avoid storing redundant\\ninformation. However, this tuple already provides the dst for this\\ndirection, this went unnoticed because this bug affects headroom and\\niph-\u003efrag_off only at this stage.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"net/netfilter/nf_flow_table_ip.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"d30301ba4b07ac92eb38353a111833b009003170\",\"lessThan\":\"ecb78fbb03d3f86e2e93767875e273308086a424\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"d30301ba4b07ac92eb38353a111833b009003170\",\"lessThan\":\"c328b90c17fc5fa7786503695152880b2afb9326\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"net/netfilter/nf_flow_table_ip.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.19\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.19\",\"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/c328b90c17fc5fa7786503695152880b2afb9326\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ecb78fbb03d3f86e2e93767875e273308086a424\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-18T17:58:56+00:00",
      "cve": "CVE-2026-72249",
      "id": "CVE-2026-72249",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "76",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: netfilter: flowtable: use dst in this direction when pushing IPIP header",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-72249.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-08-21T00:42:11Z",
      "cve": "CVE-2026-72249",
      "id": "CVE-2026-72249",
      "initial_release_date": "2026-08-21T00:42:11Z",
      "product_status:known_not_affected": "284",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-72249",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-72249.json",
      "version": "2"
    }
  }
}



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…