Description
In the Linux kernel, the following vulnerability has been resolved:

net: tap: set skb->dev before parsing virtio net header in tap_get_user_xdp()

The commit 4f61f133f354 ("net: tap: NULL pointer derefence in
dev_parse_header_protocol when skb->dev is null") fixed a crash in
tap_get_user() by assigning skb->dev before calling tun_vnet_hdr_to_skb().
This is required because virtio_net_hdr_to_skb() may invoke
dev_parse_header_protocol(), which dereferences skb->dev. Without the
assignment, a NULL pointer dereference can occur.

However, tap_get_user_xdp() still parses the virtio-net header before
assigning skb->dev. When the vhost TX path passes an XDP buffer containing
a GSO virtio-net header but the protocol is set to zero on purpose,
tun_vnet_hdr_to_skb() can reach dev_parse_header_protocol() while skb->dev
is still NULL, resulting in a crash.

Fix this by looking up the tap device and assigning skb->dev before calling
tun_vnet_hdr_to_skb(), matching the ordering already used in
tap_get_user(). Preserve the existing RCU read-side critical section across
dev_queue_xmit().
Published: 2026-08-22
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via kernel crash
Action: Apply Patch
AI Analysis

Impact

In Linux kernels, the routine tap_get_user_xdp() parses a virtio-net header before assigning the skb->dev field. If the header carries a GSO packet with a deliberately zero protocol value, the code enters dev_parse_header_protocol while skb->dev is still NULL, causing a null-pointer dereference and a following kernel panic. As a result, the affected host will crash, leading to a denial-of-service that can be triggered by sending a crafted packet to the virtio-net device.

Affected Systems

All Linux kernel releases shipping the tap_get_user_xdp() implementation and the vhost TX path before the patch commit are vulnerable. No specific version range is provided; however, any distribution with a kernel that includes the tap module prior to the commit that assigns skb->dev is affected. This flaw is relevant to systems that use virtio-net, such as virtual machines or containers communicating via vhost, and that expose the XDP interface.

Risk and Exploitability

The bug can be exploited by an attacker who can inject a specially crafted XDP buffer into the virtio-net device, which is usually limited to the local host or a trusted VM. The resulting crash removes availability but does not provide information disclosure or code execution. The EPSS score is <1 % and the CVSS score of 7.1 indicates a moderate to high severity; the vulnerability is not listed in CISA KEV, suggesting no publicly known exploits yet, yet the impact of a kernel panic is severe. The correct mitigation is to upgrade the kernel or apply the patch that assigns skb->dev before parsing the virtio‑net header.

Generated by OpenCVE AI on August 25, 2026 at 13:55 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a release that includes the patch which assigns skb->dev before parsing the virtio‑net header in tap_get_user_xdp() (e.g., commit 8b444b126cd8e4473e652f529753ed4dd1360a9c).
  • If a kernel upgrade is not possible, apply the patch manually by adding the assignment of skb->dev before calling tun_vnet_hdr_to_skb() in tap_get_user_xdp().
  • As a temporary measure, disable XDP or GSO traffic on virtio‑net interfaces until the kernel update or patch is applied.

Generated by OpenCVE AI on August 25, 2026 at 13:55 UTC.

Tracking

Sign in to view the affected projects.

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

Tue, 25 Aug 2026 12:15:00 +0000

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

None

threat_severity

Moderate


Tue, 25 Aug 2026 08:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

Tue, 25 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Sun, 23 Aug 2026 13:15:00 +0000


Sat, 22 Aug 2026 17:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

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

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net: tap: set skb->dev before parsing virtio net header in tap_get_user_xdp() The commit 4f61f133f354 ("net: tap: NULL pointer derefence in dev_parse_header_protocol when skb->dev is null") fixed a crash in tap_get_user() by assigning skb->dev before calling tun_vnet_hdr_to_skb(). This is required because virtio_net_hdr_to_skb() may invoke dev_parse_header_protocol(), which dereferences skb->dev. Without the assignment, a NULL pointer dereference can occur. However, tap_get_user_xdp() still parses the virtio-net header before assigning skb->dev. When the vhost TX path passes an XDP buffer containing a GSO virtio-net header but the protocol is set to zero on purpose, tun_vnet_hdr_to_skb() can reach dev_parse_header_protocol() while skb->dev is still NULL, resulting in a crash. Fix this by looking up the tap device and assigning skb->dev before calling tun_vnet_hdr_to_skb(), matching the ordering already used in tap_get_user(). Preserve the existing RCU read-side critical section across dev_queue_xmit().
Title net: tap: set skb->dev before parsing virtio net header in tap_get_user_xdp()
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-25T05:41:30.283Z

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

Link: CVE-2026-74684

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-22T16:16:42.757

Modified: 2026-08-25T06:18:51.253

Link: CVE-2026-74684

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-74684 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-25T14:00:17Z

Weaknesses