← Volver a artículos
Seguridad· 3 min de lectura

CVE-2026-43303: un use-after-free en el kernel Linux golpea a WSL2 y a los contenedores

El 8 de mayo de 2026 se publicó en la NVD el CVE-2026-43303, un use-after-free en la gestión de memoria del kernel Linux. El fallo no está en un controlador exótico ni en un módulo opcional, sino en el corazón del subsistema de páginas, así que el rango de máquinas afectadas es amplio: servidores, escritorios, VMs, instancias WSL2 sobre Windows y casi cualquier despliegue con contenedores.

Qué falla exactamente

El problema está en cómo el kernel reutiliza páginas de memoria. Varios subsistemas liberan páginas sin limpiar antes el campo page->private. Cuando esas páginas se vuelven a asignar y se dividen, las páginas de cola conservan valores antiguos en page->private. El subsistema de swap da por hecho que una página recién asignada tiene ese campo limpio, así que interpreta un valor residual como si fuera una lista de continuación válida. A partir de ahí recorre una page->lru sin inicializar que contiene los marcadores LIST_POISON, y el kernel acaba petando.

En la práctica es una condición de carrera: un objeto se libera mientras todavía hay referencias a él, lo que abre una ventana para corromper memoria. Según el caso, eso significa un crash del sistema o, en manos de alguien que sepa colocar bien los datos, una vía para escalar privilegios. El acceso requerido es local; no es un fallo que se explote a través de la red.

A quién afecta

El código vulnerable está presente desde Linux 5.18 hasta las versiones estables previas al parche. En concreto cubre las ramas mantenidas: 6.1.x hasta 6.1.176, 6.6.x hasta 6.6.143, 6.12.x hasta 6.12.93, 6.18.x hasta 6.18.16 y 6.19.x hasta 6.19.6. Los kernels anteriores a la 5.18 y la serie 7.0 en adelante no están afectados.

Conviene fijarse en tres escenarios donde esto duele más. WSL2, porque ejecuta un kernel Linux real dentro de Windows y mucha gente lo deja sin actualizar durante meses. Los contenedores, porque comparten el kernel del host: un fallo aquí afecta a todo lo que corre encima. Y los kernels longterm o builds personalizados, donde el parche no llega solo. Android, que también usa ramas del kernel afectadas, entra en el mismo saco.

Gravedad y mitigación

El CVE tiene un CVSS 3.1 de 7.8 (vector AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), categoría alta. La buena noticia es que no hay vector remoto: hace falta una cuenta local en la máquina. La mala es que la superficie es enorme por el número de instalaciones que arrastran kernels antiguos.

El arreglo son seis commits en kernel.org, publicados el 8 de mayo y revisados hasta el 19 de junio de 2026. Lo razonable es aplicar el kernel parcheado de tu distribución:

  • En sistemas Linux nativos, actualiza con apt, dnf, yum o zypper según corresponda y reinicia.
  • En WSL2, ejecuta wsl --update desde Windows para traer el kernel corregido.
  • En hosts de contenedores, actualiza el kernel del host (no basta con tocar la imagen del contenedor) y, si usas Docker Desktop, actualízalo también.

Si gestionas kernels longterm o compilas el tuyo, comprueba que tu rama incluye los commits antes de darte por cubierto. Un reinicio es obligatorio para que el cambio surta efecto.

Fuente