CVE-2026-74742

CVE-2026-74742

High · published August 26, 2026

CVSS v3.1
7.5
EPSS
0%
Percentile
38.9
In the wild
Unconfirmed
What it is

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

veth: fix queue index used to wake the peer txq in veth_poll

veth_poll() derives the index of the peer TX queue to wake from

rq->xdp_rxq.queue_index. That field is only initialized by

xdp_rxq_info_reg() in veth_enable_xdp_range(), which runs only when an

XDP program is attached. On the plain GRO/NAPI path

(veth_napi_enable_range()) xdp_rxq_info_reg() is never called, so

queue_index stays 0 for every queue, as priv->rq is zero-allocated.

So in a multi-queue setup with GRO enabled and no XDP program attached,

every NAPI instance looks at the peer's TX queue 0. If veth_xmit() stops

peer TX queue 1 because the ptr_ring is full (NETDEV_TX_BUSY), nothing

ever wakes it again: the poller draining queue 1 wakes queue 0 instead.

veth implements no ndo_tx_timeout, so the netdev watchdog does not kick

in either, and the queue stays stopped indefinitely.

Derive the index from the position of the rq within priv->rq instead,

which is correct regardless of whether XDP was ever enabled.

Scripts to reproduce the stall are available at

https://github.com/netoptimizer/veth-backpressure-performance-testing

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00460 · 38.9th percentile
Published
2026-08-26T19:16Z
References (4)
EPSS history
Timeline
  • 28 AUG 06:52Z
    EPSS moved — → 0%
    epss
  • 26 AUG 14:36Z
    veth: fix queue index used to wake the peer txq in veth_poll
    cvelistv5