CVE-2026-74478

um: vector: fix use-after-free in vector_mmsg_rx()

State
Published
Severity
9.8 Critical
Published
Aug 15, 2026
Updated
Aug 19, 2026
Reserved
Aug 15, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.19.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb to before 967c779c9853d2a1cc9cd8e61d300250c348f3d9Affected
  • 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb to before a7bc015bb798c525e7a82dd14225c6aeb994274bAffected
  • 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb to before 7dc9781e320d664c9bdd50003c9acfddf363d1e1Affected
  • 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb to before 4b9601595e8b6b5d18878cac0aeabc687d241111Affected
  • 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb to before 67d58ab4f2ccf7145f3da07e025735a09c79de1bAffected
  • 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb to before 180ff4c81faf01ec4e06082c9daa7c40518ead89Affected
  • 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb to before 804b681002ead233abf49a3efd681f5468a835f9Affected
  • 49da7e64f33e80edffb1a9eeb230fa4c3f42dffb to before af421e9aed3920c7ac88c24daa48606c7112fecaAffected
LinuxLinux
  • 4.17Affected
  • before 4.17Not affected
  • 5.10.265 through 5.10.*Not affected
  • 5.15.216 through 5.15.*Not affected
  • 6.1.183 through 6.1.*Not affected
  • 6.6.151 through 6.6.*Not affected
  • 6.12.103 through 6.12.*Not affected
  • 6.18.44 through 6.18.*Not affected
  • 7.1.8 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.