Saltar al contenido
CVE-2026-99078 Fuente: CVE.org Publicada · sin explotación confirmada

Vulnerabilidad de doble liberación de memoria (double free) en Linux kernel

Linux · Linux · Publicada en CVE.org el 23-10-2026 · Última actualización: 09-11-2026

Descripción

En el kernel de Linux, se resolvió la siguiente vulnerabilidad: net/mlx5e: evitar la liberación de búferes XSK obsoletos al reintentar el rellenado de MPWQE Con AF_XDP en una RQ striding, mlx5e posterga la liberación de los búferes XSK hasta que se rellena un MPWQE. Si la asignación XSK devuelve entonces -ENOMEM, actual_wq_head no avanza y un sondeo NAPI posterior reintenta el mismo WQE. mlx5e_free_rx_mpwqe() deja cada slot liberado marcado como liberable. Por lo tanto, en el reintento puede volver a llamar a xsk_buff_free() a través de punteros obsoletos después de que los frames hayan regresado al pool XSK y se hayan reasignado. Se activan todos los bits de skip_release_bitmap en la ruta de error común de mlx5e_xsk_alloc_rx_mpwqe(). Esto coincide con mlx5e_alloc_rx_mpwqe(). Una asignación exitosa ya borra el bitmap después de reemplazar cada búfer, por lo que los reintentos se vuelven idempotentes sin cambiar la ruta de éxito. La inyección de fallas forzó tres fallas consecutivas para un MPWQE seleccionado. Tanto una falla de asignación temprana como un deshacer parcial de 8 de 16 búferes liberaron los 16 búferes XSK originales solo una vez. Cada error dejó un bitmap completo, el siguiente reintento NAPI omitió la liberación y una asignación exitosa posterior lo borró. Una prueba de presión AF_XDP zero-copy de 20 segundos generó 1,575,262 fallas de asignación de búferes sin descriptores inválidos, errores de WQE ni advertencias del kernel.

Qué hacer

Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.

Versiones afectadas

  • Linux Afectadas: 4c2a1323680709078736a2886c754004e9fe42e6 y anteriores a f3a52e2ec2788a7f6b64137985c087188a54ad4f · 4c2a1323680709078736a2886c754004e9fe42e6 y anteriores a d215d09606b0fcd18ad1eb532995782a21cea49d · 4c2a1323680709078736a2886c754004e9fe42e6 y anteriores a 867119b4b588037724b85839d534465f0334d9bd · 4c2a1323680709078736a2886c754004e9fe42e6 y anteriores a 3d73a1164a8c6b4461907a65cb6c022ea4fd39af · 4c2a1323680709078736a2886c754004e9fe42e6 y anteriores a 63811edf512584c946e5e96b100e9e280703bbb5
  • Linux Afectadas: 6.4 No afectadas: 6.6.160 · 6.12.113 · 6.18.57 · 7.2.11 · 7.3

Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.

Referencias

Ver el texto original en inglés (CVE.org)

net/mlx5e: Prevent stale XSK buffer release on MPWQE refill retry

In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Prevent stale XSK buffer release on MPWQE refill retry With AF_XDP on a striding RQ, mlx5e defers releasing XSK buffers until an MPWQE is refilled. If XSK allocation then returns -ENOMEM, actual_wq_head is not advanced and a later NAPI poll retries the same WQE. mlx5e_free_rx_mpwqe() leaves each released slot marked as releasable. On retry it can therefore call xsk_buff_free() again through stale pointers after the frames have returned to the XSK pool and been reallocated. Set all skip_release_bitmap bits in the common error path of mlx5e_xsk_alloc_rx_mpwqe(). This matches mlx5e_alloc_rx_mpwqe(). A successful allocation already clears the bitmap after replacing every buffer, so retries become idempotent without changing the success path. Fault injection forced three consecutive failures for one selected MPWQE. Both an early allocation failure and a partial 8-of-16-buffer unwind released the original 16 XSK buffers only once. Each error left a full bitmap, the following NAPI retry skipped the release, and a later successful allocation cleared it. A 20-second AF_XDP zero-copy pressure run exercised 1,575,262 buffer allocation failures without invalid descriptors, WQE errors, or kernel warnings.

Recibe el boletín cuando CISA agregue vulnerabilidades nuevas

Te escribimos solo cuando CISA agrega vulnerabilidades nuevas, ya traducidas: cada día que haya, o en un resumen los lunes. Confirmas por correo y te das de baja con un clic.

Frecuencia