CVE-2026-98625 PUBLISHED

netfilter: flowtable: publish HW_DEAD after worker is done

Assigner: Linux
Reserved: 25.09.2026 Published: 18.10.2026 Updated: 18.10.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 2c8897953f3b2ff5498f3f275708a742bfcdbc24 to f92e8f39726ba68a7c42c6b7566be687c8161579 (excl.)
  • affected from 2c8897953f3b2ff5498f3f275708a742bfcdbc24 to 00e452a7ca9fda135ea3d04a11128d5088e354a8 (excl.)
  • affected from 2c8897953f3b2ff5498f3f275708a742bfcdbc24 to 56f39c7d139bb76072efe2fb3dcafc13ba915ad8 (excl.)
  • affected from 2c8897953f3b2ff5498f3f275708a742bfcdbc24 to e20701843032c438f879066a77ea85e361c6b999 (excl.)
  • affected from 2c8897953f3b2ff5498f3f275708a742bfcdbc24 to b4f0f05dfbe836a171bff261f17d098a4d5461ea (excl.)
  • affected from 2c8897953f3b2ff5498f3f275708a742bfcdbc24 to b0ef9450e93f2adeb77593db14c2ac7c6c8f5060 (excl.)
  • affected from 2c8897953f3b2ff5498f3f275708a742bfcdbc24 to f26652e99f519e6bd34f8a9b48fbb33c603585f2 (excl.)
  • affected from 2c8897953f3b2ff5498f3f275708a742bfcdbc24 to d644b23afe1ef509c9961a6d84a093c2587edf02 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 5.7 is affected
  • unaffected from 0 to 5.7 (excl.)
  • unaffected from 5.10.271 to 5.10.* (incl.)
  • unaffected from 5.15.222 to 5.15.* (incl.)
  • unaffected from 6.1.189 to 6.1.* (incl.)
  • unaffected from 6.6.158 to 6.6.* (incl.)
  • unaffected from 6.12.112 to 6.12.* (incl.)
  • unaffected from 6.18.55 to 6.18.* (incl.)
  • unaffected from 7.2.9 to 7.2.* (incl.)
  • unaffected from 7.3-rc5 to * (incl.)

References