Tenable Research descubre vulnerabilidad “ConfusedFunction” en Google Cloud Platform
ConfusedFunction afecta Cloud Function en GCP, uno de los productos más populares del proveedor de servicios de nube
Esta vulnerabilidad es fácil de explotar, tan pronto un atacante obtenga acceso a Cloud Function. Las instancias Cloud Build permanecen en riesgo, con acción evasiva inmediata requerida
Ciudad de México (agosto 2024)- Tenable, la empresa de gestión de exposición, revela que su equipo Tenable Cloud Research ha descubierto una vulnerabilidad en Google Cloud Platform (GCP) que implica a su servicio de cómputo sin servidor Cloud Function y a su servicio de tubería Cloud Build CI/CD. GCP ha remediado ConfusedFunction para futuras cuentas de Cloud Build; sin embargo, las instancias ya existentes de Cloud Build permanecen en riesgo, con acción evasiva inmediata requerida.
“La vulnerabilidad ConfusedFunction resalta los problemáticos escenarios que pueden surgir debido a la complejidad del software y a la comunicación entre los servicios de un proveedor de nube”, explica Liv Matan, ingeniero senior de investigación en Tenable. “Para dar soporte a la compatibilidad con versiones anteriores, GCP no ha cambiado los privilegios desde las cuentas del servicio Cloud Build creadas antes de que la corrección fuera implementada. Esto significa que la vulnerabilidad aún afecta a las instancias existentes y nosotros recomendamos a los clientes que tomen acciones de inmediato.”
Qué es ConfusedFuncion y cuál es la importancia de su descubrimiento
ConfusedFunction es una vulnerabilidad en Google Cloud Platform (GCP) que permite el escalamiento de privilegios desde los permisos de Cloud Function hasta los permisos de cuenta de servicio Cloud Build predeterminados. Estos permisos incluyen altos privilegios en servicios como Cloud Build, almacenamiento (incluso el código fuente de otras funciones), registro de artefactos y registro de contenedores.
Las Cloud Functions en Google Cloud Platform son funciones sin servidor que se activan por eventos. Automáticamente escalan y ejecutan códigos como respuesta a eventos específicos, como solicitudes de HTTP o cambios de datos. Cuando un usuario de GCP crea o actualiza una Cloud Function, se dispara un proceso de múltiples pasos en el backend. Este proceso, entre otras cosas, adjunta una cuenta de servicio Cloud Build predeterminada a la instancia Cloud Build que se crea como parte de la implementación de la función. Esta cuenta de servicio Cloud Build predeterminada otorga permisos excesivos al usuario. Este proceso ocurre en segundo plano y no es algo de lo que los usuarios ordinarios estén enterados.
Un atacante que obtenga acceso para crear o actualizar una Cloud Function puede aprovecharse del proceso de implementación de esa función para escalar privilegios a la cuenta de servicio Cloud Build predeterminada y a otros servicios GCP, incluso Cloud Storage, Artifact Registry o Container Registry. Al explotar el flujo de implementación y la confianza defectuosa entre servicios, un atacante podría activar un código como la cuenta de servicio Cloud Build predeterminada.
GCP confirmó que, hasta cierto punto, ha remediado ConfusedFunction para las cuentas Cloud Build creadas después del 14 de febrero de 2024. Aunque el arreglo ha reducido la gravedad del problema para futuras implementaciones, no lo ha eliminado por completo. Para cada función de nube que utiliza la cuenta de servicio Cloud Build antigua, la recomendación es reemplazarla por una cuenta de servicio con privilegios mínimos.