CVE-2026-64025: bpf, skmsg: fix verdict sk_data_ready racing with ktls rx
In the Linux kernel, the following vulnerability has been resolved:
bpf, skmsg: fix verdict skdataready racing with ktls rx
skpsockstrpdataready() already checks tlsswhasctxrx() and defers to psock->saveddataready when a TLS RX context is present, avoiding a conflict with the TLS strparser's ownership of the receive queue (commit e91de6afa81c, "bpf: Fix running skskb program types with ktls").
skpsockverdictdataready() has no equivalent guard. When a socket is inserted into a sockmap (BPFSKSKBVERDICT) before TLS RX is configured, tlsswstrparserarm() saves skpsockverdictdataready as rxctx->saveddataready. On data arrival:
tlsdataready -> tlsstrpdataready -> tlsrxmsgready -> saveddataready() = skpsockverdictdataready() -> tcpreadskb() drains skreceivequeue via skbunlink() without calling tcpeatskb(), so copiedseq is not advanced.
tlsstrpmsgload() then finds tcpinq() >= fulllen (stale), calls tcprecvskb() on the now-empty queue, hits WARNONONCE(!first), and returns with rxctx->strp.anchor.fraglist pointing at a psock-owned (potentially freed) skb. tlsdecryptsg() subsequently walks that fraglist: use-after-free.
Apply the same fix as skpsockstrpdataready(): if a TLS RX context is present, call psock->saveddataready (sockdefreadable) to wake recv() waiters and return immediately, leaving the receive queue untouched. TLS retains sole ownership of the queue and decrypts the record normally through tlsswrecvmsg().
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-64025?
The severity of CVE-2026-64025 is rated at risk level 66.
How do I fix CVE-2026-64025?
To fix CVE-2026-64025, update your Linux kernel to a version that includes the patch addressing this vulnerability.
What systems are affected by CVE-2026-64025?
CVE-2026-64025 affects versions of the Linux kernel that are vulnerable to the use after free condition in the bpf and skmsg subsystems.
What are the potential impacts of CVE-2026-64025?
The potential impacts of CVE-2026-64025 include system instability or exploitation of the use after free vulnerability.
Is there a workaround for CVE-2026-64025?
There are no known workarounds for CVE-2026-64025 other than applying the necessary kernel updates.