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().
CVE-2026-31406
NONE
EPSS 0.01%
Updated Apr 07, 2026
Linux
https://git.kernel.org/stable/c/21f2fc49ca6faa393c31da33b8a4e6c41fc84c13
416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2255ed6adbc3100d2c4a83abd9d0396d04b87792
416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/32d0f44c2f14d60fe8e920e69a28c11051543ec1
416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/daf8e3b253aa760ff9e96c7768a464bc1d6b3c90
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVE Details
CVE ID
CVE-2026-31406
Published Date
Apr 06, 2026
Vendor
Linux
Severity
NONE
Exploit Prediction (EPSS)
Probability of Exploit
0.01%
Likelihood of exploitation in next 30 days
Percentile:
1.1th percentile (higher than 1.1% of all CVEs)
Standard patching cycle
Impact
Minimal impact
Source
View Advisory