Cada tanto aparece un bug del kernel que no es "otro CVE más": es uno que estuvo escondido a plena vista durante años, en código que corre en cada máquina Linux del planeta. GhostLock (CVE-2026-43499) es exactamente eso. Divulgado el 9 de julio de 2026 por los investigadores de Nebula Security, es un use-after-free en el manejo de futex con herencia de prioridad que lleva viviendo en el kernel desde 2011 —unos 15 años— y que convierte a cualquier usuario local sin privilegios en root en cerca de cinco segundos. Y no se queda ahí: escapa de contenedores, lo que lo vuelve un problema directo para cualquiera que corra cargas multi-tenant.

GhostLock (CVE-2026-43499) es una vulnerabilidad de tipo use-after-free en el código de futex con herencia de prioridad (priority inheritance) del kernel Linux, ubicada en la función remove_waiter() de kernel/locking/rtmutex.c. Permite que cualquier usuario local sin privilegios obtenga acceso root y escape de contenedores. Afecta a todos los kernels desde la versión 2.6.39 (2011) compilados con CONFIG_FUTEX_PI, la opción por defecto en prácticamente todas las distribuciones. Su severidad CVSS es 7.8 (alta).

¿Por qué un bug de 2011 aparece recién ahora?

GhostLock (CVE-2026-43499): 15 años de root oculto en Linux

El defecto se introdujo en Linux 2.6.39 (mayo de 2011), durante una reescritura del código de rtmutex —el mutex de tiempo real que el kernel usa para implementar la herencia de prioridad de los futex. Ese mecanismo evita la inversión de prioridad: cuando un hilo de baja prioridad tiene tomado un lock que necesita uno de alta prioridad, el kernel "presta" temporalmente la prioridad alta al hilo que bloquea, para que suelte el recurso antes.

La función remove_waiter() fue diseñada para la limpieza de un único hilo, pero con el tiempo se reutilizó en el camino de proxy lock (rt_mutex_start_proxy_lock()), donde el hilo que espera no es el hilo actual. En ese escenario, la rutina limpia el puntero del hilo equivocado —el de current en vez del de la tarea que realmente espera— y deja una referencia colgando a memoria de stack ya liberada. Un puntero colgante en el kernel es el ingrediente exacto para un use-after-free explotable.

Que haya sobrevivido 15 años no es raro: el código de locking del kernel es de los más complejos y menos tocados. La diferencia es que ahora hay un exploit público y confiable, y eso cambia el cálculo de riesgo para todos.

¿Cómo funciona GhostLock a nivel técnico?

El patrón de ataque no requiere nada exótico: se dispara con syscalls de threading y futex perfectamente normales, disponibles para cualquier proceso. En resumen:

  • El disparador son operaciones legítimas de futex PI. No hace falta ninguna capability, ni configuración inusual, ni acceso de red. Basta con llamadas de sincronización que cualquier programa multihilo puede hacer.
  • El error deja un puntero colgante en el stack del kernel. Al limpiar la tarea equivocada durante el rollback del proxy lock, la cola de espera (rbtree) queda con una referencia a memoria liberada.
  • El atacante reclama esa memoria con datos controlados. Ese es el paso clásico de un stack UAF: rellenar el hueco liberado para redirigir el flujo de control del kernel.
  • El resultado es escalada a root. El exploit full-chain de Nebula reporta un 97% de fiabilidad y llega a root en unos cinco segundos en el entorno de pruebas de kernelCTF.

La única condición previa es que el kernel esté compilado con CONFIG_FUTEX_PI=y. No es un caso de borde: es el default en cada distribución mayor. Google premió el hallazgo con 92.337 dólares a través de su programa de recompensas kernelCTF, lo que da una idea de cuán serio lo considera el propio equipo de seguridad del kernel.

¿Por qué GhostLock rompe el aislamiento de contenedores?

Esta es la parte que más debería preocupar si corrés cargas en contenedores. Un contenedor no es una máquina virtual: comparte el kernel del host con todos los demás contenedores y con el propio host. Docker, Podman o containerd usan namespaces y cgroups para aislar procesos, red y sistema de archivos, pero todos hablan con el mismo kernel.

Cuando la vulnerabilidad está en el kernel —como acá—, ese aislamiento deja de ser una frontera de seguridad. Un proceso adentro de un contenedor puede llamar a los mismos syscalls de futex, disparar el use-after-free y secuestrar el flujo de control del kernel que comparte con el host. En la práctica, GhostLock permite pasar de "usuario sin privilegios dentro de un contenedor" a "root en el host", tomando de paso todos los demás contenedores que corran en esa máquina.

Para un servidor multi-tenant, un runner de CI que ejecuta código de terceros, o cualquier plataforma que hostea cargas ajenas, esto es un cambio de categoría: el contenedor deja de contener.

¿Qué implica para tu Cloud Server o proyecto en producción?

La escalada local suele subestimarse ("si ya tenés acceso local, ¿qué más da?"), pero en la realidad casi ningún compromiso empieza con root. Un atacante entra con credenciales robadas de un usuario cualquiera, con una webshell de baja privilegio, o ejecutando código dentro de un contenedor. GhostLock es la pieza que convierte ese punto de apoyo mínimo en control total de la máquina.

  • Todo tu parque está afectado por defecto. Cualquier Cloud Server con un kernel entre 2.6.39 y 7.0 sin parchear es vulnerable. No es una config rara: es el estado por defecto.
  • El aislamiento de contenedores no te salva. Si corrés código no confiable —CI, funciones, hosting compartido, sandboxes—, tratá el contenedor como no confiable hasta parchear el host.
  • No hay mitigación universal más allá del parche. Las distribuciones coinciden en que no hay un workaround por sysctl ni una config que apague el riesgo sin actualizar el kernel.
  • El exploit ya es público. No es teoría ni prueba de concepto privada: hay una cadena completa reproducible circulando, así que la ventana entre "lo ignoré" y "me lo explotaron" es angosta.

Si administrás tus propios servidores, la responsabilidad de aplicar el parche del kernel y reiniciar es tuya —el proveedor no lo hace por vos en una VM o Cloud Server que gestionás.

¿Qué podés hacer HOY para protegerte?

El plan es corto y concreto: verificá tu kernel, actualizá y reiniciá. En ese orden.

1. Revisá qué kernel estás corriendo

uname -r
# ¿está compilado con futex PI? (si existe el archivo de config)
grep CONFIG_FUTEX_PI /boot/config-$(uname -r)

Si CONFIG_FUTEX_PI=y y tu versión cae en el rango vulnerable, asumí que estás afectado.

2. Actualizá el kernel desde tu distribución

# Debian / Ubuntu
sudo apt update && sudo apt full-upgrade

# RHEL / AlmaLinux / Rocky / Fedora
sudo dnf clean metadata && sudo dnf upgrade

La corrección upstream es el commit 3bfdc63936dd, integrado en la rama principal (Linux 7.1). Cada distribución la retroportó a sus kernels soportados: AlmaLinux, por ejemplo, publicó el 9 de julio de 2026 los kernels 4.18.0-553.141.2.el8_10 (AlmaLinux 8), 5.14.0-687.24.1.el9_8 (AlmaLinux 9) y 6.12.0-211.32.1.el10_2 (AlmaLinux 10) o superiores. Los números exactos cambian según la distro y la rama, así que verificá la versión parcheada real en el tracker de seguridad de tu distribución en vez de asumir que "una actualización reciente" ya te cubre.

3. Reiniciá para cargar el kernel nuevo

sudo reboot
# después del reboot, confirmá:
uname -r

Actualizar el paquete no alcanza: el kernel viejo sigue corriendo en memoria hasta que reiniciás. Si no podés reiniciar de inmediato —servidores que no toleran downtime—, evaluá una solución de live patching del kernel, que aplica el fix sin reboot mientras planificás la ventana de mantenimiento.

Un detalle sobre el parche inicial

Un dato importante si vas a actualizar en estos días: según reportes de seguimiento, la primera corrección introdujo un bug de crash separado, rastreado como CVE-2026-53166, cuya limpieza todavía se estaba asentando en upstream a principios de julio. Es la razón de más para no clavar a mano una versión puntual del kernel "porque leí que arreglaba GhostLock" y, en cambio, tomar la última disponible en el canal estable de tu distribución, que ya incorpora ambos arreglos.

Preguntas frecuentes

¿Qué kernels de Linux están afectados por GhostLock?

Todos los kernels desde la versión 2.6.39 (mayo de 2011) hasta antes de 7.1, siempre que estén compilados con CONFIG_FUTEX_PI, que es el valor por defecto en las distribuciones mayores. En la práctica, casi cualquier Linux sin parchear de los últimos 15 años es vulnerable.

¿GhostLock necesita acceso previo al servidor?

Sí. Es una escalada de privilegios local: el atacante ya debe poder ejecutar código en la máquina, aunque sea como usuario sin privilegios o dentro de un contenedor. No es explotable directamente por red, pero sí es la segunda etapa ideal después de cualquier intrusión inicial.

¿Un contenedor me protege de GhostLock?

No. La falla está en el kernel que el contenedor comparte con el host. GhostLock puede usarse para escapar del contenedor y obtener root en la máquina anfitriona. Si corrés código no confiable en contenedores, parchear el host es imprescindible.

¿Hay alguna mitigación sin actualizar el kernel?

No hay un workaround universal ni un sysctl que anule el riesgo. La única solución sostenible es aplicar el kernel parcheado de tu distribución y reiniciar; como alternativa temporal para evitar downtime existe el live patching del kernel.

¿Cómo sé si mi servidor ya está parcheado?

Corré uname -r para ver la versión activa y comparala con la versión corregida que publica tu distribución en su tracker de seguridad. Ojo: si actualizaste el paquete pero no reiniciaste, seguís corriendo el kernel viejo y vulnerable.

¿Qué severidad tiene y por qué importa si es "solo" 7.8?

El CVSS es 7.8 (alta), no crítico, porque requiere acceso local. Pero en un compromiso real el acceso local es lo habitual, hay exploit público con ~97% de fiabilidad y escapa contenedores. Para infraestructura multi-tenant, el impacto práctico es tan grave como uno crítico.

La conclusión

GhostLock es un recordatorio incómodo de que el kernel que compartís entre todos tus contenedores es tu superficie de ataque más crítica, y que la antigüedad del código no equivale a seguridad. La acción es directa y no admite demoras: verificá tu versión, actualizá desde tu distribución y reiniciá. Si esta clase de fallas te interesa, tenemos cobertura de otros use-after-free de kernel recientes como Copy Fail (CVE-2026-31431) y DirtyClone (CVE-2026-43503), y sobre cómo reducir el radio de explosión de un contenedor comprometido en Tu Docker asegurado: usuario no root, sistema de archivos de solo lectura y límites de recursos.

Fuentes: Nebula Security — IonStack part II: GhostLock, The Hacker News, AlmaLinux OS — GhostLock advisory y Linuxiac.

Cloud Serversby Donweb

Todo el poder de la nube a tus proyectos y aplicaciones.
Alojamiento ultra rápido, escalable y con alta disponibilidad.

  • Performance que te sorprenderá
  • Rápida escalabilidad y sin limitaciones
  • Arquitectura de alta disponibilidad
  • Soporte experto y ejecutivos de cuenta
  • Pagos en tu moneda y facturación local

Descubre la mejor solución de Cloud Hosting