Skip to content
Heist/ feed
Critical

netfilter: nf_conntrack: fix crash due to removal of uninitialised entry

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack: fix crash due to removal of uninitialised entry A crash in conntrack was reported while trying to unlink the conntrack entry from the hash bucket list: [exception RIP: __nf_ct_delete_from_lists+172] [..] #7 [ff539b5a2b043aa0] nf_ct_delete at ffffffffc124d421 [nf_conntrack] #8 [ff539b5a2b043ad0] nf_ct_gc_expired at ffffffffc124d999 [nf_conntrack] #9 [ff539b5a2b043ae0] __nf_conntrack_find_get at ffffffffc124efbc [nf_conntrack] [..] The nf_conn struct is marked as allocated from slab but appears to be in a partially initialised state: ct hlist pointer is garbage; looks like the ct hash value (hence crash). ct->status is equal to IPS_CONFIRMED|IPS_DYING, which is expected ct->timeout is 30000 (=30s), which is unexpected. Everything else looks like normal udp conntrack entry. If we ignore ct->status and pretend its 0, the entry matches those that are newly allocated but not yet inserted into the hash: - ct hlist pointers are overloaded and store/cache the raw tuple hash - ct->timeout matches the relative time expected for a new udp flow rather than the absolute 'jiffies' value. If it were not for the presence of IPS_CONFIRMED, __nf_conntrack_find_get() would have skipped the entry. Theory is that we did hit following race: cpu x cpu y cpu z found entry E found entry E E is expired nf_ct_delete() return E to rcu slab init_conntrack E is re-inited, ct->status set to 0 reply tuplehash hnnode.

Announced Group revision 1
Original source ↗

CVE-2025-38472

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2025-38472

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "1397af5bfd7d32b0cf2adb70a78c9a9e8f11d912",
        "lessThan": "a47ef874189d47f934d0809ae738886307c0ea22",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "1397af5bfd7d32b0cf2adb70a78c9a9e8f11d912",
        "lessThan": "76179961c423cd698080b5e4d5583cf7f4fcdde9",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "1397af5bfd7d32b0cf2adb70a78c9a9e8f11d912",
        "lessThan": "fc38c249c622ff5e3011b8845fd49dbfd9289afc",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "1397af5bfd7d32b0cf2adb70a78c9a9e8f11d912",
        "lessThan": "938ce0e8422d3793fe30df2ed0e37f6bc0598379",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "1397af5bfd7d32b0cf2adb70a78c9a9e8f11d912",
        "lessThan": "2d72afb340657f03f7261e9243b44457a9228ac7",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "594cea2c09f7cd440d1ee1c4547d5bc6a646b0e4",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "5.18.13",
        "lessThan": "5.19",
        "versionType": "semver"
      }
    ],
    "programFiles": [
      "include/net/netfilter/nf_conntrack.h",
      "net/netfilter/nf_conntrack_core.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "5.19"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "5.19",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.1.147",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.6.100",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.40",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.15.8",
        "versionType": "semver",
        "lessThanOrEqual": "6.15.*"
      },
      {
        "status": "unaffected",
        "version": "6.16",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "include/net/netfilter/nf_conntrack.h",
      "net/netfilter/nf_conntrack_core.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2025-38472

Source reference: /cveMetadata/cveId

Publisher severity

critical

Source reference: /containers/cna/metrics

Event
#30577 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement