CVE-2025-40159

CVE-2025-40159

High · published November 12, 2025

CVSS v3.1
7.8
EPSS
0%
Percentile
4.0
In the wild
Unconfirmed
What it is

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

xsk: Harden userspace-supplied xdp_desc validation

Turned out certain clearly invalid values passed in xdp_desc from

userspace can pass xp_{,un}aligned_validate_desc() and then lead

to UBs or just invalid frames to be queued for xmit.

desc->len close to ``U32_MAX`` with a non-zero pool->tx_metadata_len

can cause positive integer overflow and wraparound, the same way low

enough desc->addr with a non-zero pool->tx_metadata_len can cause

negative integer overflow. Both scenarios can then pass the

validation successfully.

This doesn't happen with valid XSk applications, but can be used

to perform attacks.

Always promote desc->len to ``u64`` first to exclude positive

overflows of it. Use explicit check_{add,sub}_overflow() when

validating desc->addr (which is ``u64`` already).

bloat-o-meter reports a little growth of the code size:

add/remove: 0/0 grow/shrink: 2/1 up/down: 60/-16 (44)

Function old new delta

xskq_cons_peek_desc 299 330 +31

xsk_tx_peek_release_desc_batch 973 1002 +29

xsk_generic_xmit 3148 3132 -16

but hopefully this doesn't hurt the performance much.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00152 · 4.0th percentile
Published
2025-11-12T16:15Z
References (3)
EPSS history
Timeline
  • 12 NOV 10:24Z
    xsk: Harden userspace-supplied xdp_desc validation
    cvelistv5