CVE-2026-74478

CRITICALCVSS 9.8/10EPSS 0.51%

Last modified

CVE-2026-74478 is a critical-severity vulnerability rated 9.8/10 on the CVSS scale. In the Linux kernel, the following vulnerability has been resolved: um: vector: fix use-after-free in vector_mmsg_rx() When vector_mmsg_rx() discards a packet whose overlay header fails verify_header(), it frees the skb and continues the loop: if (header_check < 0) { dev_kfree_skb_irq(skb); vp->estats.rx_encaps_errors++; 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: (*skbuff_vector) = NULL; mmsg_vector++; skbuff_vector++; The verify_header() < 0 path skips that via continue, so the freed skb is left in skbuff_vector[] 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 verify_header() 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.. EPSS estimates a 0.51% chance of exploitation in the next 30 days.

Description

In the Linux kernel, the following vulnerability has been resolved: um: vector: fix use-after-free in vector_mmsg_rx() When vector_mmsg_rx() discards a packet whose overlay header fails verify_header(), it frees the skb and continues the loop: if (header_check < 0) { dev_kfree_skb_irq(skb); vp->estats.rx_encaps_errors++; 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: (*skbuff_vector) = NULL; mmsg_vector++; skbuff_vector++; The verify_header() < 0 path skips that via continue, so the freed skb is left in skbuff_vector[] 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 verify_header() 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.

Metrics

CVSS 3.1
9.8/10

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

EPSS Probability
0.51%

41.3th percentile

Probability of exploitation in the next 30 days. Learn more

Affected Software

Source: CNA advisory (CVE.org). NVD analysis pending.

VendorProductVersions
LinuxLinux>= 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb, < 967c779c9853d2a1cc9cd8e61d300250c348f3d9; >= 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb, < a7bc015bb798c525e7a82dd14225c6aeb994274b; >= 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb, < 7dc9781e320d664c9bdd50003c9acfddf363d1e1; >= 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb, < 4b9601595e8b6b5d18878cac0aeabc687d241111; >= 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb, < 67d58ab4f2ccf7145f3da07e025735a09c79de1b; >= 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb, < 180ff4c81faf01ec4e06082c9daa7c40518ead89; >= 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb, < 804b681002ead233abf49a3efd681f5468a835f9; >= 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb, < af421e9aed3920c7ac88c24daa48606c7112feca
LinuxLinux4.17

References

Timeline

Published
Last Modified
Status
Received

Frequently Asked Questions

What is CVE-2026-74478?
In the Linux kernel, the following vulnerability has been resolved: um: vector: fix use-after-free in vector_mmsg_rx() When vector_mmsg_rx() discards a packet whose overlay header fails verify_header(), it frees the skb and continues the loop: if (header_check < 0) { dev_kfree_skb_irq(skb); vp->estats.rx_encaps_errors++; 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: (*skbuff_vector) = NULL; mmsg_vector++; skbuff_vector++; The verify_header() < 0 path skips that via continue, so the freed skb is left in skbuff_vector[] 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 verify_header() 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.
How severe is CVE-2026-74478?
CVE-2026-74478 has a CVSS score of 9.8/10 (CRITICAL severity). The EPSS model estimates a 0.51% probability of exploitation in the next 30 days.
How do I fix CVE-2026-74478?
Check the vendor references and advisories linked above for patched versions and mitigation guidance. You can also run a Strix scan to test if your systems are affected.

How Strix Helps

Related CVEs from 2026

Are you affected by CVE-2026-74478?

Run a free Strix scan to check your systems for this vulnerability.

Scan your code now

Source: NVD / NIST