GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel sockmap: missing kTLS guard in verdict data_ready leads to use-after-free

CVSS 9.8CVE-2026-64025Kernel, userspace & hypervisorcurated

Impact

sk_psock_verdict_data_ready() lacked the kTLS receive-context check its strparser counterpart has. If a socket is put into a sockmap with a BPF_SK_SKB_VERDICT program before kernel TLS receive is configured, the psock callback drains the receive queue without advancing copied_seq; the TLS strparser then loads a message against an empty queue and is left with a frag_list pointing at an skb the psock already owns or freed, which tls_decrypt_sg() walks - a use-after-free in kernel context. This matters where a service mesh or L7 proxy uses sockmap/sk_skb redirection on the same sockets that terminate kTLS, a combination that appears in mesh data planes running alongside tenant workloads on GPU nodes. Triggering it needs the ability to load the BPF program and set up the socket, so this is not a path a plain unprivileged tenant pod has.

Who can reach it

Local, and privileged in practice: something must attach a BPF_SK_SKB_VERDICT program to a sockmap (CAP_BPF/CAP_NET_ADMIN) and then enable kTLS RX on the same socket. Remote traffic then drives the race, but an attacker cannot create the condition from outside.

What to do

Patched upstream - the verdict path now defers to saved_data_ready when a TLS RX context is present. Pick up the fix in your distribution's stable kernel (commits below) and reboot the node; there is no module to reload. On a GPU fleet, batch this with the next kernel maintenance window and drain nodes first. Interim mitigation: do not combine sockmap sk_skb verdict programs with kTLS receive on the same sockets.

References

Related entries

All Kernel, userspace & hypervisor entries

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.