Database/Kernel, userspace & hypervisor
Linux kernel (net/xfrm): Transport-mode reinjection stashes a network-namespace pointer in the socket buffer's control
Impact
Transport-mode reinjection stashes a network-namespace pointer in the socket buffer's control block and dereferences it later from a deferred workqueue callback, without ever taking a reference. If the namespace is destroyed between queueing and the callback, the IPsec receive path runs against freed namespace state - a use-after-free driven by inbound encrypted traffic on a node where tenant namespaces come and go, which is every hour of every day in a container fleet.
Who can reach it
Two ingredients, both cheap on a multi-tenant node: inbound ESP traffic in transport mode that takes the deferred reinjection path (async crypto), and a network namespace being torn down. A tenant supplies both itself - keep a peer sending encrypted traffic into its namespace, then exit the namespace - and normal pod churn supplies the second half by accident. Reachable from the fabric side by any peer that can send ESP transport-mode packets to the node.
What to do
Boot a kernel carrying the fix commits below (no fixed stable version published). Interim control: prefer tunnel mode over transport mode for tenant-facing SAs, and disable async/offloaded crypto so reinjection is not deferred, until nodes can be rebooted.
References
Related entries
- Linux kernel (net/xfrm): The rtnetlink changelink path for xfrm interfaces checked CAP_NET_ADMIN only against theCVE-2026-72136 · Linux kernel (net/xfrm)High
- Linux kernel (net/xfrm): The error path of xfrm_input leaves the secpath entry pointing at poisoned memory, and theCVE-2024-43878 · Linux kernel (net/xfrm)High
- Linux kernel (net/xfrm): SA lookup can observe the new hash mask before the new bucket array is published, so itCVE-2024-57982 · Linux kernel (net/xfrm)High
- Linux kernel (net/xfrm): The guard that forbids changing a collect_md xfrm interface never fired, so a changelink putsCVE-2025-38500 · Linux kernel (net/xfrm)High
- Linux kernel (net/xfrm): If the task is preempted onto another CPU during SA lookup, a hit in the per-CPU state cacheCVE-2025-38675 · Linux kernel (net/xfrm)High
- Linux kernel (net/xfrm): SPI 0 means 'no SPI assigned', but the duplicate-SPI rework started creating states with SPI 0CVE-2025-39965 · Linux kernel (net/xfrm)High
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.