In the Linux kernel, the following vulnerability has been resolved:
can: raw: fix ro->uniq use-after-free in raw_rcv()
rawrelease() unregisters raw CAN receive filters via canrxunregister(), but receiver deletion is deferred with callrcu(). This leaves a window where rawrcv() may still be running in an RCU read-side critical section after rawrelease() frees ro->uniq, leading to a use-after-free of the percpu uniq storage.
Move freepercpu(ro->uniq) out of rawrelease() and into a raw-specific socket destructor. canrxunregister() takes an extra reference to the socket and only drops it from the RCU callback, so freeing uniq from sk_destruct ensures the percpu area is not released until the relevant callbacks have drained.
[mkl: applied manually]
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31532.json"
}