CVE-2026-31406

xfrm: Fix work re-schedule after cancel in xfrm_nat_keepalive_net_fini()

State
Published
Severity
7.8 High
Published
Apr 6, 2026
Updated
Aug 5, 2026
Reserved
Mar 9, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

xfrm: Fix work re-schedule after cancel in xfrm_nat_keepalive_net_fini()

After cancel_delayed_work_sync() is called from xfrm_nat_keepalive_net_fini(), xfrm_state_fini() flushes remaining states via __xfrm_state_delete(), which calls xfrm_nat_keepalive_state_updated() to re-schedule nat_keepalive_work.

The following is a simple race scenario:

cpu0 cpu1

cleanup_net() [Round 1] ops_undo_list() xfrm_net_exit() xfrm_nat_keepalive_net_fini() cancel_delayed_work_sync(nat_keepalive_work); xfrm_state_fini() xfrm_state_flush() xfrm_state_delete(x) __xfrm_state_delete(x) xfrm_nat_keepalive_state_updated(x) schedule_delayed_work(nat_keepalive_work); rcu_barrier(); net_complete_free(); net_passive_dec(net); llist_add(&net->defer_free_list, &defer_free_list);

cleanup_net() [Round 2] rcu_barrier(); net_complete_free() kmem_cache_free(net_cachep, net); nat_keepalive_work() // on freed net

To prevent this, cancel_delayed_work_sync() is replaced with disable_delayed_work_sync().

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • f531d13bdfe3f4f084aaa8acae2cb0f02295f5ae to before 32d0f44c2f14d60fe8e920e69a28c11051543ec1Affected
  • f531d13bdfe3f4f084aaa8acae2cb0f02295f5ae to before 2255ed6adbc3100d2c4a83abd9d0396d04b87792Affected
  • f531d13bdfe3f4f084aaa8acae2cb0f02295f5ae to before 21f2fc49ca6faa393c31da33b8a4e6c41fc84c13Affected
  • f531d13bdfe3f4f084aaa8acae2cb0f02295f5ae to before daf8e3b253aa760ff9e96c7768a464bc1d6b3c90Affected
LinuxLinux
  • 6.11Affected
  • before 6.11Not affected
  • 6.12.80 through 6.12.*Not affected
  • 6.18.21 through 6.18.*Not affected
  • 6.19.11 through 6.19.*Not affected
  • 7.0 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.