CVE-2026-98625 (GCVE-0-2026-98625)
Vulnerability from cvelistv5
Published
2026-10-18 15:19
Modified
2026-10-19 09:22
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: flowtable: publish HW_DEAD after worker is done flow_offload_work_del() sets NF_FLOW_HW_DEAD before the work handler clears NF_FLOW_HW_PENDING. Once a flow is both HW_DYING and HW_DEAD, a concurrent garbage collection pass can remove it and schedule it for RCU freeing. The offload worker holds neither an RCU read lock nor a reference to the flow. If it is preempted after publishing HW_DEAD, the RCU callback can free the flow before the worker resumes and clears HW_PENDING, resulting in a use-after-free. Move HW_DEAD publication to the common worker epilogue after the pending bit is cleared, making it the final flow access by destroy work. Order all preceding flow accesses before publishing the bit that allows garbage collection to free the object.
Impacted products
Vendor Product Version
Linux Linux Version: 2c8897953f3b2ff5498f3f275708a742bfcdbc24
Version: 2c8897953f3b2ff5498f3f275708a742bfcdbc24
Version: 2c8897953f3b2ff5498f3f275708a742bfcdbc24
Version: 2c8897953f3b2ff5498f3f275708a742bfcdbc24
Version: 2c8897953f3b2ff5498f3f275708a742bfcdbc24
Version: 2c8897953f3b2ff5498f3f275708a742bfcdbc24
Version: 2c8897953f3b2ff5498f3f275708a742bfcdbc24
Version: 2c8897953f3b2ff5498f3f275708a742bfcdbc24
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/netfilter/nf_flow_table_offload.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "f92e8f39726ba68a7c42c6b7566be687c8161579",
              "status": "affected",
              "version": "2c8897953f3b2ff5498f3f275708a742bfcdbc24",
              "versionType": "git"
            },
            {
              "lessThan": "00e452a7ca9fda135ea3d04a11128d5088e354a8",
              "status": "affected",
              "version": "2c8897953f3b2ff5498f3f275708a742bfcdbc24",
              "versionType": "git"
            },
            {
              "lessThan": "56f39c7d139bb76072efe2fb3dcafc13ba915ad8",
              "status": "affected",
              "version": "2c8897953f3b2ff5498f3f275708a742bfcdbc24",
              "versionType": "git"
            },
            {
              "lessThan": "e20701843032c438f879066a77ea85e361c6b999",
              "status": "affected",
              "version": "2c8897953f3b2ff5498f3f275708a742bfcdbc24",
              "versionType": "git"
            },
            {
              "lessThan": "b4f0f05dfbe836a171bff261f17d098a4d5461ea",
              "status": "affected",
              "version": "2c8897953f3b2ff5498f3f275708a742bfcdbc24",
              "versionType": "git"
            },
            {
              "lessThan": "b0ef9450e93f2adeb77593db14c2ac7c6c8f5060",
              "status": "affected",
              "version": "2c8897953f3b2ff5498f3f275708a742bfcdbc24",
              "versionType": "git"
            },
            {
              "lessThan": "f26652e99f519e6bd34f8a9b48fbb33c603585f2",
              "status": "affected",
              "version": "2c8897953f3b2ff5498f3f275708a742bfcdbc24",
              "versionType": "git"
            },
            {
              "lessThan": "d644b23afe1ef509c9961a6d84a093c2587edf02",
              "status": "affected",
              "version": "2c8897953f3b2ff5498f3f275708a742bfcdbc24",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/netfilter/nf_flow_table_offload.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.7"
            },
            {
              "lessThan": "5.7",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.271",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.222",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.189",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.158",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.112",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.55",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.271",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.222",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.189",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.158",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.112",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.55",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.9",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: flowtable: publish HW_DEAD after worker is done\n\nflow_offload_work_del() sets NF_FLOW_HW_DEAD before the work handler\nclears NF_FLOW_HW_PENDING. Once a flow is both HW_DYING and HW_DEAD, a\nconcurrent garbage collection pass can remove it and schedule it for RCU\nfreeing.\n\nThe offload worker holds neither an RCU read lock nor a reference to the\nflow. If it is preempted after publishing HW_DEAD, the RCU callback can\nfree the flow before the worker resumes and clears HW_PENDING, resulting\nin a use-after-free.\n\nMove HW_DEAD publication to the common worker epilogue after the pending\nbit is cleared, making it the final flow access by destroy work. Order all\npreceding flow accesses before publishing the bit that allows garbage\ncollection to free the object."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-19T09:22:53.321Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/f92e8f39726ba68a7c42c6b7566be687c8161579"
        },
        {
          "url": "https://git.kernel.org/stable/c/00e452a7ca9fda135ea3d04a11128d5088e354a8"
        },
        {
          "url": "https://git.kernel.org/stable/c/56f39c7d139bb76072efe2fb3dcafc13ba915ad8"
        },
        {
          "url": "https://git.kernel.org/stable/c/e20701843032c438f879066a77ea85e361c6b999"
        },
        {
          "url": "https://git.kernel.org/stable/c/b4f0f05dfbe836a171bff261f17d098a4d5461ea"
        },
        {
          "url": "https://git.kernel.org/stable/c/b0ef9450e93f2adeb77593db14c2ac7c6c8f5060"
        },
        {
          "url": "https://git.kernel.org/stable/c/f26652e99f519e6bd34f8a9b48fbb33c603585f2"
        },
        {
          "url": "https://git.kernel.org/stable/c/d644b23afe1ef509c9961a6d84a093c2587edf02"
        }
      ],
      "title": "netfilter: flowtable: publish HW_DEAD after worker is done",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-98625",
    "datePublished": "2026-10-18T15:19:46.372Z",
    "dateReserved": "2026-09-25T10:25:14.360Z",
    "dateUpdated": "2026-10-19T09:22:53.321Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…