Docker ha corregido la vulnerabilidad crítica CVE-2026-105445 en Docker Hub, que durante más de dos años —del 26 de agosto de 2024 al 30 de septiembre de 2026— permitía a un atacante asociar un Personal Access Token (PAT) bajo su control a la cuenta de otro usuario y realizar operaciones con imágenes de contenedor en su nombre. La vulnerabilidad ha recibido una puntuación de 9,4 según CVSS 4.0 y se ha clasificado como crítica. La corrección se ha aplicado en el lado del servidor de Docker Hub, por lo que no es necesario instalar actualizaciones en los clientes. Según Docker, no se han encontrado indicios de explotación de la vulnerabilidad en ataques reales; sin jedoch, esta conclusión se basa exclusivamente en la investigación interna del proveedor y no ha sido confirmada por una auditoría independiente.
Mecanismo de la vulnerabilidad
El problema, clasificado como CWE-266 (asignación incorrecta de privilegios), afectaba al mecanismo de conversión de una cuenta personal de Docker Hub en una cuenta de organización. Según la entrada CVE, durante la conversión el sistema transfería automáticamente todos los Personal Access Tokens (PAT) personales al propietario designado de la organización. El error clave era que el secreto del token no cambiaba y no se solicitaba el consentimiento del nuevo propietario.
El escenario de ataque era el siguiente:
- El atacante crea una cuenta y genera un PAT con los permisos de acceso deseados.
- Convierte su cuenta en una organización, indicando a la víctima como propietaria.
- Docker Hub vincula el token a la cuenta de la víctima, manteniendo intacto el secreto del token.
- El atacante utiliza su PAT para acceder al registro; el sistema lo autentica como si fuera la víctima.
Según los permisos del token y los privilegios de la víctima, el atacante podía descargar, subir y eliminar imágenes de contenedor en los repositorios de la víctima, incluidos los repositorios de las organizaciones a las que esta tuviera acceso. El acceso se limitaba a operaciones con el registro: la interfaz web de Docker Hub, el cambio de contraseña, de dirección de correo electrónico o de los ajustes de autenticación de dos factores seguían siendo inaccesibles.
Por qué se le ha asignado estado crítico
Pese al perímetro de impacto limitado, Docker asignó a la vulnerabilidad un estado crítico debido a la amenaza para la cadena de suministro: un atacante podía publicar imágenes maliciosas en nombre de desarrolladores legítimos. A modo de contexto, a principios de 2026 Docker informó de casos en los que credenciales robadas de editores se utilizaron para subir imágenes maliciosas de Trivy y KICS a sus propios repositorios. GhostPat proporcionaba un vector alternativo para ataques similares, sin necesidad de robar contraseñas.
Un detalle llamativo es que la propia documentación de Docker, desde abril de 2025, describía explícitamente la transferencia de PAT durante la conversión de la cuenta como un comportamiento estándar. Esta mención se eliminó el 30 de septiembre de 2026, a los pocos minutos del despliegue del parche. De este modo, durante unos 17 de los 25 meses de existencia del bug, el comportamiento vulnerable estuvo documentado como una función y no como un error.
Investigación y respuesta
La vulnerabilidad fue descubierta por los investigadores Péter Molnár y Christian Hozák (mptrdev.com), que la bautizaron como GhostPat. Según la cobertura de The Hacker News, reprodujeron el exploit dos veces en cuentas de prueba con el consentimiento de sus propietarios, confirmando la posibilidad de iniciar sesión en el registro en nombre del usuario objetivo, crear repositorios en su espacio de nombres y acceder a repositorios privados. Según Docker, el parche se desplegó en menos de cuatro horas tras la recepción del informe.
Según Docker, la empresa revisó todas las conversiones de cuentas realizadas durante el periodo de existencia del bug y analizó unas 304 000 operaciones de subida de imágenes efectuadas utilizando tokens transferidos. De acuerdo con el proveedor, todas estas subidas se dirigieron a repositorios de la organización convertida o de su propietario designado, y en la inmensa mayoría de los casos ambas cuentas pertenecían a la misma persona o al mismo equipo. En los casos en los que esto no pudo confirmarse, Docker analizó imágenes públicas de mayor riesgo y no detectó código malicioso. Hay que tener en cuenta que estos datos no han sido verificados de forma independiente y que en el informe de Docker no se revelan los resultados del análisis de las operaciones de descarga y eliminación de imágenes.
Recomendaciones prácticas
El 2 de octubre de 2026, Docker notificó a los usuarios en cuyas cuentas se habían vinculado tokens ajenos, así como a los propietarios de las organizaciones afectadas. El 8 de octubre, los tokens potencialmente peligrosos se desactivaron (excepto aquellos cuya conservación fue solicitada explícitamente por sus propietarios). Según Docker, los usuarios que no recibieron una notificación no tienen que realizar ninguna acción.
Para quienes hayan recibido una notificación o quieran realizar una comprobación por su cuenta:
- Abra la configuración de la cuenta → Personal access tokens. Compruebe la fecha de creación y del último uso de cada token.
- Revoque los tokens que usted no haya creado o que ya no utilice. La descripción del token la establece su creador, por lo que un nombre conocido no garantiza su legitimidad.
- Revise la lista de organizaciones en el conmutador de cuentas: una organización desconocida puede ser un rastro de una conversión.
- Para automatizar a nivel de organización, utilice organization access tokens (requiere una suscripción Docker Team o Docker Business) en lugar de PAT personales.
- Los propietarios de organizaciones con suscripciones de pago pueden revisar el historial de subidas a través de los registros de actividad (se conservan 30 días en la interfaz; los anteriores están disponibles a través de la API).
- Si firma imágenes, compruebe las firmas de las imágenes publicadas y correlaciónelas con los registros del pipeline de CI/CD.
Docker indica que ahora el sistema exige el consentimiento explícito del usuario antes de designarlo propietario de una organización, le notifica dicha designación y registra todos los cambios de propietario de los tokens. La acción principal para los usuarios de Docker Hub es auditar sus PAT y pasar a organization access tokens para cualquier automatización relacionada con organizaciones. Para los consumidores de imágenes públicas, el incidente subraya el valor de la verificación de las firmas de las imágenes: es la firma, y no el nombre del editor, la que sigue siendo un indicador fiable de integridad en el ecosistema de los registros de contenedores.