Skip to main content

Linux Kernel CVE-2025-68341

CRITICAL
2025-12-23 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Critical
Disputed · 9.8 Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Sources disagree (Low–Critical)
Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
3.6 LOW

Local, config-dependent kernel race needing CAP_NET_ADMIN to set up veth XDP threaded-NAPI (PR:L) with a narrow timing window (AC:H); impact is mainly descriptor leakage (C:L) and possible instability (A:L).

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:L
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
5.5 LOW
qualitative

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Analysis Generated
Jul 30, 2026 - 07:07 vuln.today
CVE Published
Dec 23, 2025 - 14:16 cve.org
CRITICAL 9.8

DescriptionCVE.org

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

veth: reduce XDP no_direct return section to fix race

As explain in commit fa349e396e48 ("veth: Fix race with AF_XDP exposing old or uninitialized descriptors") for veth there is a chance after napi_complete_done() that another CPU can manage start another NAPI instance running veth_pool(). For NAPI this is correctly handled as the napi_schedule_prep() check will prevent multiple instances from getting scheduled, but for the remaining code in veth_pool() this can run concurrent with the newly started NAPI instance.

The problem/race is that xdp_clear_return_frame_no_direct() isn't designed to be nested.

Prior to commit 401cb7dae813 ("net: Reference bpf_redirect_info via task_struct on PREEMPT_RT.") the temporary BPF net context bpf_redirect_info was stored per CPU, where this wasn't an issue. Since this commit the BPF context is stored in 'current' task_struct. When running veth in threaded-NAPI mode, then the kthread becomes the storage area. Now a race exists between two concurrent veth_pool() function calls one exiting NAPI and one running new NAPI, both using the same BPF net context.

Race is when another CPU gets within the xdp_set_return_frame_no_direct() section before exiting veth_pool() calls the clear-function xdp_clear_return_frame_no_direct().

AnalysisAI

Concurrency-driven information disclosure in the Linux kernel's veth (virtual Ethernet) driver allows old or uninitialized packet descriptors to be exposed to AF_XDP consumers when veth is run in threaded-NAPI mode with an XDP program attached. Because the BPF redirect/return context was moved from per-CPU storage into the 'current' task_struct (commit 401cb7dae813), two concurrent veth_poll() invocations can nest the xdp_set/clear_return_frame_no_direct() section and race, corrupting the shared BPF net context. Despite an NVD CVSS of 9.8, this is a local, configuration-dependent kernel race with EPSS at 0.16% (6th percentile), no KEV listing, and no public exploit identified at time of analysis.

Technical ContextAI

The affected component is the veth driver's XDP fast-path in the Linux networking stack. veth pairs are commonly used to connect network namespaces (containers) to host bridges. XDP (eXpress Data Path) allows eBPF programs to process/redirect packets very early; AF_XDP sockets let userspace receive those frames zero-copy via a descriptor ring. The root cause is a race condition (CWE-362, concurrent execution using shared resource without proper synchronization) - the referenced commit fa349e396e48 already documented that after napi_complete_done() another CPU can start a fresh NAPI/veth_poll() instance. napi_schedule_prep() serializes the NAPI scheduling itself, but the remaining veth_poll() code, specifically the xdp_clear_return_frame_no_direct() teardown, is not re-entrant. Since commit 401cb7dae813 (‘net: Reference bpf_redirect_info via task_struct on PREEMPT_RT’) the temporary BPF net context (bpf_redirect_info) lives in the running kthread's task_struct rather than per-CPU, so two veth_poll() calls sharing that thread context collide when one enters the no_direct return section while the other is clearing it. The fix narrows (reduces) the no_direct return section to eliminate the nesting window.

Affected ProductsAI

The vulnerability affects the Linux kernel, specifically the veth driver, on kernels that include commit 401cb7dae813 (which relocated bpf_redirect_info into task_struct) and that expose veth XDP in threaded-NAPI mode. No CPE strings or explicit version ranges were provided in the intelligence set, and CWE is listed as N/A, so exact vulnerable version boundaries are not confirmed here; the affected range is bounded on the upper end by the fix commits. The corrective changes are published in the stable tree at https://git.kernel.org/stable/c/d0bd018ad72a8a598ae709588934135017f8af52 , https://git.kernel.org/stable/c/c1ceabcb347d1b0f7e70a7384ec7eff3847b7628 , and https://git.kernel.org/stable/c/a14602fcae17a3f1cb8a8521bedf31728f9e7e39 , indicating multiple stable branches received backports.

RemediationAI

Upstream fix available (commits in the stable tree); a specific tagged release version was not provided in the input and is not independently confirmed. Apply your distribution's kernel update that incorporates the veth 'reduce XDP no_direct return section' fix - the stable commits are a14602fcae17, c1ceabcb347d, and d0bd018ad72a (see the git.kernel.org URLs above); track your distro's security advisory for the corresponding packaged kernel version. If patching cannot be done immediately, reduce exposure by avoiding the triggering configuration: disable threaded NAPI on affected veth interfaces (echo 0 to /sys/class/net/<veth>/threaded), or detach XDP programs from veth devices where AF_XDP zero-copy/redirect is not required - both remove the nesting window but at the cost of the performance/isolation benefits those features provide. Restrict CAP_NET_ADMIN and the ability to attach XDP programs to trusted operators only, since establishing the vulnerable config requires those privileges.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
Container suse/sl-micro/6.0/baremetal-os-container:latest Container suse/sl-micro/6.0/base-os-container:latest Container suse/sl-micro/6.0/kvm-os-container:latest Container suse/sl-micro/6.0/rt-os-container:latest Container suse/sl-micro/6.0/toolbox:latest Image SL-Micro Image SLE-Micro Image SLE-Micro-Azure Image SLE-Micro-BYOS Image SLE-Micro-BYOS-Azure Image SLE-Micro-BYOS-EC2 Image SLE-Micro-BYOS-GCE Image SLE-Micro-EC2 Image SLE-Micro-GCE Affected
Image SLES-Azure-3P Image SLES-Azure-Basic Image SLES-Azure-Standard Image SLES-BYOS-Azure Image SLES-BYOS-EC2 Image SLES-BYOS-GCE Image SLES-CHOST-BYOS-Aliyun Image SLES-CHOST-BYOS-Azure Image SLES-CHOST-BYOS-EC2 Image SLES-CHOST-BYOS-GCE Image SLES-CHOST-BYOS-GDC Image SLES-CHOST-BYOS-SAP-CCloud Image SLES-EC2 Image SLES-EC2-ECS Image SLES-GCE Image SLES-GCE-3P Image SLES-Hardened-BYOS-Azure Image SLES-Hardened-BYOS-EC2 Image SLES-Hardened-BYOS-GCE Image SLES-SAPCAL-Azure Image SLES-SAPCAL-EC2 Image SLES-SAPCAL-GCE Affected
Image SLES-SAP-Azure Image SLES-SAP-Azure-3P Image SLES-SAP-BYOS-Azure Image SLES-SAP-BYOS-EC2 Image SLES-SAP-BYOS-GCE Image SLES-SAP-EC2 Image SLES-SAP-GCE Image SLES-SAP-GCE-3P Affected
SUSE Linux Enterprise High Availability Extension 16.0 Fixed
SUSE Linux Enterprise Server 16.0 Fixed

Share

CVE-2025-68341 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy