CVE-2026-74478: um: vector: fix use-after-free in vector_mmsg_rx()
In the Linux kernel, the following vulnerability has been resolved:
um: vector: fix use-after-free in vectormmsgrx()
When vectormmsgrx() discards a packet whose overlay header fails verifyheader(), it frees the skb and continues the loop:
if (headercheck < 0) { devkfreeskbirq(skb); vp->estats.rxencapserrors++; continue; }
The normal and short-packet paths fall through to the bottom of the loop body, which clears the consumed slot and advances the cursors:
(skbuffvector) = NULL; mmsgvector++; skbuffvector++;
The verifyheader() < 0 path skips that via continue, so the freed skb is left in skbuffvector[] and the cursors do not advance. The next iteration reads the same slot, gets the freed skb, and frees it again, producing a refcount underflow / use-after-free in the RX path.
Discard the slot the same way the other paths do before continuing.
Only transports whose verifyheader() can return negative are affected: GRE and L2TPv3 do so on a cookie/session-id mismatch (raw/tap do not), so any peer on such a transport can trigger it without authentication.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-74478?
CVE-2026-74478 has a risk score of 62, indicating a moderate severity vulnerability.
How do I fix CVE-2026-74478?
To fix CVE-2026-74478, ensure that you update your Linux kernel to the latest stable version that includes the patch.
What type of vulnerability is CVE-2026-74478?
CVE-2026-74478 is categorized as a 'Use After Free' vulnerability in the Linux kernel.
Which function is affected by CVE-2026-74478?
The vulnerability in CVE-2026-74478 affects the 'vector_mmsg_rx()' function in the Linux kernel.
What could be the potential impact of CVE-2026-74478?
The use-after-free issue in CVE-2026-74478 may lead to denial of service or arbitrary code execution if exploited.