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.
Published: 2026-08-15
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel's vector_mmsg_rx() function contains a use‑after‑free flaw (CWE-763) that can be triggered when a received packet's overlay header fails verification. If the header check fails, the code frees the associated socket buffer but incorrectly continues the loop, leaving the freed buffer still referenced in the skbuff_vector array. The next loop iteration processes this freed skb again, causing a reference count underflow and a use‑after‑free in the RX path. An attacker who can craft a packet that makes verify_header() return a negative value—such as a GRE or L2TPv3 cookie or session‑id mismatch—can exploit this path. The flaw does not require authentication and can lead to kernel memory corruption, denial of service, or potential privilege escalation.

Affected Systems

The bug affects all Linux kernel releases that have not yet incorporated the patch. It applies only when the GRE or L2TPv3 tunneling transports are enabled, which are common in VPN appliances and dynamic routing devices. No specific vendor or version ranges are listed, so any system running a vulnerable kernel with GRE or L2TPv3 enabled is at risk.

Risk and Exploitability

The CVSS score of 9.8 indicates a high severity. The EPSS score is reported as < 1%, indicating low exploitation probability under current conditions. The vulnerability is not listed in the CISA KEV catalog. Nevertheless, because the flaw can be triggered remotely over the network and is a kernel‑level use‑after‑free, an attacker could potentially achieve kernel memory corruption, leading to denial of service or privilege escalation. The likely attack vector is a network packet sent to a system with GRE or L2TPv3 enabled, with no authentication required.

Generated by OpenCVE AI on August 21, 2026 at 21:16 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a Linux kernel update that incorporates the vector_mmsg_rx use‑after‑free fix
  • Disable GRE and L2TPv3 tunneling if it is not essential to reduce the attack surface
  • Implement firewall rules to restrict or block GRE and L2TPv3 traffic, allowing only trusted peers

Generated by OpenCVE AI on August 21, 2026 at 21:16 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6466-1 linux security update
History

Fri, 21 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-763
References
Metrics threat_severity

None

threat_severity

Moderate


Wed, 19 Aug 2026 16:45:00 +0000


Mon, 17 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Sat, 15 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sat, 15 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
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.
Title um: vector: fix use-after-free in vector_mmsg_rx()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-19T16:37:30.555Z

Reserved: 2026-08-15T05:44:03.903Z

Link: CVE-2026-74478

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T13:17:52.600

Modified: 2026-08-19T17:21:04.947

Link: CVE-2026-74478

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-74478 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T21:30:17Z

Weaknesses
  • CWE-763

    Release of Invalid Pointer or Reference