Una nueva vulnerabilidad bautizada como ImageRunner, descubierta por el equipo de investigación de Tenable, expuso un sofisticado pero crítico camino de escalamiento de privilegios dentro del servicio Cloud Run de Google Cloud Platform (GCP). La vulnerabilidad, que ya ha sido corregida por Google, permitía a atacantes con permisos limitados acceder y desplegar imágenes de contenedor privadas, eludiendo los controles de acceso establecidos.
🔍 Descripción técnica de la vulnerabilidad
La vulnerabilidad de ImageRunner se centraba en la forma en que Google Cloud Run implementa las revisiones de sus servicios, especialmente al utilizar agentes de servicio para obtener imágenes desde Artifact Registry o el antiguo Container Registry de Google.
Cuando se actualiza un servicio en Cloud Run, se genera una nueva revisión con una imagen y una configuración específica. Durante esta operación, Cloud Run utiliza un agente de servicio dedicado (por ejemplo:service-[PROJECT_NUMBER]@serverless-robot-prod.iam.gserviceaccount.com
) para recuperar la imagen y desplegar el contenedor.
🚨 Cómo se explotaba
Tenable demostró que un usuario con solo dos permisos IAM podía explotar esta cadena:
run.services.update
iam.serviceAccounts.actAs
Con esos permisos mínimos, el atacante podía:
- Actualizar un servicio existente en Cloud Run generando una nueva revisión.
- Especificar una imagen de contenedor privada a la cual no tenía acceso directo.
- Inyectar comandos maliciosos (por ejemplo, una shell reversa) en la configuración del contenedor.
- Aprovechar el agente de servicio de Cloud Run, que sí tenía permisos para obtener imágenes privadas, y así ejecutar la imagen sin autorización.
Este comportamiento permitía:
- Exfiltrar datos sensibles dentro de imágenes privadas.
- Ejecutar código malicioso en entornos de ejecución seguros.
- Evadir el control de acceso basado en IAM.
🧪 Demostración de concepto (PoC)
Tenable usó una imagen aparentemente inofensiva (raesene/ncat
), la renombró y la subió a un registro privado de contenedores dentro del mismo proyecto de GCP. Luego:
- Crearon una nueva revisión de Cloud Run apuntando a esa imagen.
- Inyectaron un comando como: bashCopyEdit
nc -lnvp <puerto> -e /bin/bash
- El agente de servicio descargó y ejecutó la imagen, estableciendo una shell remota en el contenedor en ejecución, sin necesidad de acceso directo a la imagen.
🛠️ Respuesta y mitigación por parte de Google
Google solucionó el problema con una actualización importante lanzada el 28 de enero de 2025. Desde entonces:
- Solo los usuarios con permisos explícitos de lectura sobre la imagen (
roles/artifactregistry.reader
, por ejemplo) pueden desplegar revisiones de Cloud Run que la referencien. - Se eliminó la posibilidad de que los agentes de servicio actúen como vectores indirectos de escalamiento de privilegios.
Google notificó a los usuarios afectados a través de anuncios de servicio obligatorios y documentación técnica.
🧱 Patrón de vulnerabilidad “Jenga®”
ImageRunner representa un ejemplo claro del patrón de arquitectura de vulnerabilidades tipo “Jenga”, definido por Tenable:
“En la nube, los servicios están construidos unos sobre otros. Si un servicio base es vulnerable, todo lo que depende de él hereda ese riesgo.”
Este tipo de arquitectura puede generar caminos de escalamiento ocultos incluso en entornos bien segmentados.
🔐 Implicaciones para arquitectos de seguridad y equipos DevSecOps
🔎 1. Agentes de servicio como puntos ciegos
Estos agentes pueden tener permisos extendidos no evidentes para los usuarios, y ser usados de forma maliciosa si no se supervisan correctamente.
🛡️ 2. El principio de menor privilegio no es suficiente
Incluso con permisos mínimos, un usuario puede obtener acceso indirecto a recursos sensibles. Hay que considerar privilegios transitivos al diseñar políticas IAM.
⚙️ 3. Riesgos en pipelines CI/CD
Desarrolladores y sistemas de automatización actualizan Cloud Run frecuentemente. Si las políticas de acceso a imágenes no están correctamente aplicadas, las pipelines pueden convertirse en vectores de ataque.
✅ Recomendaciones para mitigar el riesgo
Para administradores de GCP:
- Revisar los permisos IAM, especialmente
run.services.update
yiam.serviceAccounts.actAs
. - Activar logs de acceso en Artifact Registry.
- Implementar verificación de firma de imágenes con Binary Authorization.
- Auditar los agentes de servicio y sus roles periódicamente.
Para equipos de seguridad:
- Integrar detección de eventos sospechosos en SIEM/SOAR (como Cortex XSIAM o Chronicle).
- Aplicar modelos de amenaza sobre privilegios transitivos.
- Usar agentes de monitoreo de comportamiento en tiempo de ejecución para detectar comandos no esperados.
ImageRunner no es solo una falla técnica, sino una advertencia clara de lo complejas y entrelazadas que son las plataformas en la nube moderna. La seguridad en la nube debe considerar no solo permisos directos, sino también las interacciones entre servicios automatizados.
Equipos de seguridad deben incorporar modelos de amenazas basados en la infraestructura nativa del proveedor, con un enfoque proactivo sobre privilegios delegados y agentes invisibles.

Es un conocido experto en seguridad móvil y análisis de malware. Estudió Ciencias de la Computación en la NYU y comenzó a trabajar como analista de seguridad cibernética en 2003. Trabaja activamente como experto en antimalware. También trabajó para empresas de seguridad como Kaspersky Lab. Su trabajo diario incluye investigar sobre nuevos incidentes de malware y ciberseguridad. También tiene un profundo nivel de conocimiento en seguridad móvil y vulnerabilidades móviles.
Envía tips de noticias a info@noticiasseguridad.com o www.instagram.com/iicsorg/
También puedes encontrarnos en Telegram www.t.me/noticiasciberseguridad