In the Linux kernel, the following vulnerability has been resolved:
xfrm: move policy_bydst RCU sync from per-netns .exit to .pre_exit
The struct pernet_operations docstring in include/net/net_namespace.h explicitly warns against blocking RCU primitives in .exit handlers:
Exit methods using blocking RCU primitives, such as synchronize_rcu(), should be implemented via exit_batch. [...] Please, avoid synchronize_rcu() at all, where it's possible.
Note that a combination of pre_exit() and exit() can be used, since a synchronize_rcu() is guaranteed between the calls.
xfrm_policy_fini() violates this: it calls synchronize_rcu() before freeing the policy_bydst hash tables (so no RCU reader is mid- traversal at free time), but runs from xfrm_net_ops.exit -- once per namespace -- so a cleanup_net() of N namespaces pays N full RCU grace periods serially.
Use the documented pre_exit/exit split. Move the policy flush (and the workqueue drains it depends on) into a new .pre_exit handler; xfrm_policy_fini() then runs in .exit and frees the hash tables after the synchronize_rcu_expedited() that cleanup_net() guarantees between the two phases. Providing O(1) RCU grace periods per batch instead of O(N).
Observed on Linux 6.18 with a workload doing unshare(CLONE_NEWNET) at ~13/sec sustained: cleanup_net() and the netns_wq rescuer kthread both stuck in xfrm_policy_fini()'s synchronize_rcu(), >300k struct net accumulated in the cleanup queue, Percpu in /proc/meminfo climbed to 130+ GB on 256-CPU hosts, and memcg OOMs followed. setup_net and __put_net counts were balanced, ruling out a refcount leak.
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel6.18Upgrade kernel6.12-develUpgrade kernel6.18-toolsUpgrade bpftool6.18Upgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.12Upgrade kernel6.12-debuginfoUpgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-debuginfo-common-x86_64Upgrade microvm-kernel6.18Upgrade python3-perf6.12Upgrade kernel6.18-modules-extra-commonUpgrade kernel6.12-tools-develUpgrade kernel6.12-toolsUpgrade kernel6.18-modules-extraUpgrade kernel6.12-headersUpgrade kernel6.18-headersUpgrade perf6.12-debuginfoUpgrade kernel6.12-modules-extraUpgrade kernel6.18-debuginfo-common-aarch64Upgrade kernel6.12-tools-debuginfoUpgrade kernel-livepatch-6.12.94-123.174Upgrade kernel6.18-tools-debuginfoUpgrade kernel6.18-develUpgrade kernel6.18-tools-develUpgrade bpftool6.12-debuginfoUpgrade bpftool6.18-debuginfoUpgrade kernel6.18-debuginfoUpgrade bpftool6.12Upgrade perf6.18Upgrade python3-perf6.18Upgrade kernel-livepatch-6.18.35-68.127Upgrade python3-perf6.12-debuginfoUpgrade python3-perf6.18-debuginfoUpgrade perf6.12Upgrade kernel6.18-debuginfo-common-x86_64Upgrade perf6.18-debuginfo | Aug 18, 2026 | Jul 25, 2026 |
| Debian | — | Upgrade linux | Jul 28, 2026 | Jul 28, 2026 |
| Redhat_linux | — | No solution exists | Jul 31, 2026 | Jul 25, 2026 |
| Ubuntu | — | Upgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-7.0.0-1009-awsUpgrade linux-image-nvidia-7.0Upgrade linux-image-nvidia-bosUpgrade linux-image-awsUpgrade linux-image-raspi-7.0Upgrade linux-image-gcp-64kUpgrade linux-image-gcp-7.0Upgrade linux-image-7.0.0-1015-raspi-realtimeUpgrade linux-image-raspiUpgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-7.0.0-2016-nvidia-bosUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-raspi-realtime-7.0Upgrade linux-image-raspi-realtimeUpgrade linux-image-nvidiaUpgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-aws-7.0Upgrade linux-image-7.0.0-1016-nvidia-64kUpgrade linux-image-aws-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-nvidia-bos-7.0Upgrade linux-image-7.0.0-1015-raspiUpgrade linux-image-7.0.0-1016-nvidiaUpgrade linux-image-aws-64k-7.0Upgrade linux-image-7.0.0-1009-aws-64kUpgrade linux-image-gcp-64k-7.0Upgrade linux-image-gcpUpgrade linux-image-nvidia-bos-64kUpgrade linux-image-7.0.0-2016-nvidia-bos-64k | Jul 28, 2026 | Jul 28, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 31, 2026 | Jul 25, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub