Resumen ejecutivo e importancia arquitectónica
El 30 de septiembre de 2026, Docker recibió un reporte de vulnerabilidad crítica a través de su Programa de Divulgación de Vulnerabilidades (registrado como CVE-2026-105445) relacionado con la gestión de identidad y accesos (IAM) dentro de Docker Hub. Los investigadores de seguridad Peter Molnar y Krisztian Hozak descubrieron una falla arquitectónica en la función de conversión de cuentas de la plataforma, específicamente el mecanismo que permite convertir una cuenta personal (por ejemplo, alice/app) en una cuenta propiedad de una organización sin romper las referencias de pull existentes en Docker. El equipo de ingeniería confirmó la vulnerabilidad e implementó una solución en producción en menos de cuatro horas, mostrando un Ciclo de Respuesta a Incidentes (IRL) ejemplar.
Desde la perspectiva de la arquitectura de software, esta vulnerabilidad expuso un acoplamiento peligroso entre la transformación de estado (conversión de cuenta) y la delegación de propiedad de credenciales. Cuando se actualizó la lógica de conversión de Docker Hub el 26 de agosto de 2024, esta reasignó inadvertidamente los tokens de acceso personal (PAT) al nuevo propietario designado de la organización sin rotar los secretos, revocar los tokens ni exigir el consentimiento explícito del usuario. Este descuido creó un vector crítico de vulnerabilidad en la cadena de suministro de software, permitiendo acciones no autorizadas a nivel de registro bajo la identidad de usuarios objetivo desprevenidos. Aunque las auditorías forenses integrales que cubrieron más de 304,000 publicaciones (pushes) impulsadas por tokens no revelaron explotación activa ni cargas maliciosas, el incidente subraya las graves implicaciones de las rutas implícitas de escalamiento de privilegios en arquitecturas de registros nativos de la nube.
Mejoras principales y ergonomía para desarrolladores
Para remediar la CVE-2026-105445 y endurecer el perímetro IAM de Docker Hub, Docker ha renovado fundamentalmente sus subsistemas de conversión de cuentas y gestión de tokens. El principal cambio de ingeniería desacopla por completo la persistencia de los tokens de acceso personal del flujo de trabajo de conversión de cuenta a organización. Bajo la arquitectura actualizada, las operaciones de conversión ya no heredan, transfieren ni mutan los registros de propiedad de PAT existentes. En su lugar, ahora se requiere explícitamente que los desarrolladores y administradores de organizaciones recreen los tokens de automatización necesarios después de la conversión, aprovechando los tokens de acceso de organización (OAT) con ámbito como estándar criptográfico para la infraestructura compartida.
Además de eliminar la migración de tokens de la canalización de conversión, Docker ha introducido estrictas comprobaciones de autorización basadas en el consentimiento y registros de telemetría auditables. Nombrar a un usuario externo como propietario de una organización ahora activa flujos de trabajo obligatorios de consentimiento multipartito y notificaciones en tiempo real, previniendo asociaciones arbitrarias. Además, cada transición de propiedad de credenciales se registra ahora en un historial de estados inmutable y auditable. Estas mejoras arquitectónicas mejoran significativamente la ergonomía del desarrollador al establecer límites de credenciales transparentes mientras eliminan efectos secundarios ocultos durante las transformaciones administrativas.
Matriz de comparación arquitectónica
| Vector arquitectónico | Línea base anterior (Pre-corrección) | Versión actual (docker-hub-security-advisory-per) |
|---|---|---|
| Latencia y procesamiento IAM | Transferencia de estado inmediata e implícita de los PAT durante las rutinas de conversión de cuenta a organización. | Comprobaciones de autorización sincrónicas en tiempo real que requieren el consentimiento explícito del usuario y procesamiento desacoplado. |
| Seguimiento del estado de memoria y tokens | Mapeo volátil en memoria de la propiedad de tokens mutable mediante acciones administrativas unilaterales. | Registros de tokens criptográficamente aislados con seguimiento de historial de estados inmutable y auditable. |
| Endpoints de la API del registro | Los endpoints de conversión heredados permitían la escalada silenciosa del ámbito de credenciales a través de los límites de los usuarios. | Rutas de API endurecidas que rechazan la herencia de tokens entre usuarios y aplican una estricta validación de OAT. |
Cambios incompatibles y advertencias de migración
Esta versión introduce cambios incompatibles significativos en las API de conversión de cuentas y gestión de credenciales de Docker Hub. Cabe destacar que los tokens de acceso personal (PAT) ya no se transfieren automáticamente cuando una cuenta personal se convierte en una organización. Cualquier canalización de CI/CD automatizada u operación programática del registro de Docker que dependa de la mecánica heredada de transferencia de PAT experimentará fallas de autenticación si los tokens no se recrean manualmente.
Además, Docker impuso la desactivación forzosa de todos los PAT históricos que se transfirieron incorrectamente durante la ventana de exposición (del 26 de agosto de 2024 al 30 de septiembre de 2026), con la excepción de tokens específicos explícitamente exentos mediante solicitud de usuario antes de la fecha límite del 8 de octubre. La compatibilidad con versiones anteriores para la migración implícita de tokens ha sido completamente descontinuada y eliminada por motivos de cumplimiento de seguridad.
Guía de actualización paso a paso
Para garantizar operaciones de registro ininterrumpidas y asegurar su organización contra riesgos IAM persistentes, siga este flujo de trabajo de migración práctico:
Auditar los tokens de acceso personal existentes: Vaya a la Configuración de la cuenta (Account Settings) de su Docker Hub, seleccione Tokens de acceso personal (Personal access tokens) y revise todas las credenciales activas. Revoque cualquier token no verificado, heredado o no utilizado.
Migrar la automatización a tokens de acceso de organización: Reemplace los tokens de acceso personal utilizados en canalizaciones de CI/CD compartidas por tokens de acceso de organización (OAT) delimitados y vinculados directamente a la organización de destino en lugar de a una cuenta de usuario individual.
Verificar la configuración a través de la CLI: Pruebe sus credenciales actualizadas autenticando su cliente de Docker contra el registro:
echo "<your-organization-access-token>" | docker login --username <org-name> --password-stdin
