VULNERABILIDAD
CVE-2026-99079 Liberación de búferes XSK obsoletos al reintentar el relleno en net/mlx5e
Si el relleno por lotes de una RQ cíclica legacy tiene éxito solo parcialmente, un WQE sin reemplazo conserva su puntero de búfer antiguo y un reintento posterior puede liberar un búfer vivo y publicar el mismo frame UMEM dos veces. Se marca el WQE como liberado tras la liberación del lado del driver.
Alerta de Nureq Monitor
Detectada 23 OCT · 10:16
CVSS 3.1
9.8CRÍTICAPROBABILIDAD DE EXPLOTACIÓN (EPSS)
0,2 % PERCENTIL 10
EXPLOTACIÓN ACTIVA
No confirmada
EXPLOIT PÚBLICO
No conocido
Qué es CVE-2026-99079
Si el relleno por lotes de una RQ cíclica legacy tiene éxito solo parcialmente, un WQE sin reemplazo conserva su puntero de búfer antiguo y un reintento posterior puede liberar un búfer vivo y publicar el mismo frame UMEM dos veces. Se marca el WQE como liberado tras la liberación del lado del driver.
Productos y versiones afectadas
Linux
Linux
Qué hacer
- Verificá si usás Linux y en qué versión: el rango afectado figura arriba.
- Actualizá a la versión corregida que indique el fabricante en su aviso (ver referencias) o aplicá la mitigación que publique.
- Revisá registros y accesos de los sistemas expuestos para descartar que se haya aprovechado antes de corregir.
Calculadora CVSS
CVSS 3.1 · 9.8 CRÍTICA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- VECTOR DE ATAQUE (AV)
- Red
- COMPLEJIDAD DEL ATAQUE (AC)
- Baja
- PRIVILEGIOS REQUERIDOS (PR)
- Ninguno
- INTERACCIÓN DEL USUARIO (UI)
- Ninguna
- ALCANCE (S)
- Sin cambio
- CONFIDENCIALIDAD (C)
- Alta
- INTEGRIDAD (I)
- Alta
- DISPONIBILIDAD (A)
- Alta
Abrir la calculadora completa →
Descripción original
In the Linux kernel, the following vulnerability has been resolved:
net/mlx5e: Prevent stale XSK buffer release on refill retry
When an XDP redirect to an AF_XDP socket fails because its RX ring is
full, the XSK core frees the buffer. During the subsequent batched refill
of a legacy cyclic RQ, mlx5e also releases the WQE's XSK buffer before
allocating a replacement. If that refill succeeds only partially, a WQE
left without a replacement retains its old buffer pointer.
The buffer can meanwhile be allocated to another WQE. A later refill
retry can then free the live buffer through the stale pointer and publish
the same UMEM frame twice.
Mark the WQE as released immediately after the driver-side free. The flag
is already cleared when a replacement buffer is assigned, so refill
retries no longer release stale pointers.
The failure is silent and produces no kernel warning or splat. A
standalone legacy cyclic-RQ zero-copy libxsk reproducer, using 64-byte UDP
traffic offered at 12 Mpps, detected it: stock stopped after 2,854,914
packets in 4.094 seconds, with 4,542 xdp_rx_ring_full events and 64
ownership/double-publication errors. With this change it processed
356,904,225 packets in 30 seconds despite 571,405 xdp_rx_ring_full events,
with no ownership or data errors.
Referencias
- git.kernel.org/stable/c/32bbb870078d467479965c21bbc4960c57eea208
- git.kernel.org/stable/c/34d1db2b18e1c1d189e34dd51923e031815f88e3
- git.kernel.org/stable/c/639522e5056cade578a324acfa993ec6c9f7f5dc
- git.kernel.org/stable/c/655f47477054d19de3b138840be229a1a4490d0c
- git.kernel.org/stable/c/e01620844c5c88b6fcf819d171df8e3976a0e76f
Historial de la alerta
- VULNERABILIDAD Nueva vulnerabilidad detectada.
CÓMO SE HIZOResumen traducido automáticamente al español a partir de la descripción original. Ante dudas, la descripción original y las referencias del fabricante son la fuente de verdad. Cómo funciona.