CVE-2025-68341

CVE-2025-68341

Critical · published December 23, 2025

CVSS v3.1
9.8
EPSS
0%
Percentile
37.2
In the wild
Unconfirmed
What it is

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().

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00440 · 37.2th percentile
Published
2025-12-23T19:16Z
References (3)
EPSS history
Timeline
  • 23 DEC 13:58Z
    veth: reduce XDP no_direct return section to fix race
    cvelistv5