Error en GitHub expone proyectos de gigantes de TI

Error en GitHub expone proyectos de gigantes de TI

Google, Microsoft, AWS y otros grandes actores están sujetos a una fuga masiva de código.

image

Palo Alto Networks descubrió vulnerabilidades en los procesos CI/CD de varios proyectos open-source conocidos, incluidos desarrollos de Google, Microsoft, AWS y Red Hat. El problema está relacionado con la fuga de tokens de GitHub, que pueden ser utilizados para acceder de manera no autorizada a repositorios privados, robar código fuente o inyectar software malicioso.

Los tokens se filtran en los artefactos debido a una combinación de varios factores: configuraciones inseguras por defecto, errores de configuración por parte de los usuarios y una insuficiente verificación de seguridad en la configuración de los flujos de trabajo en GitHub. Uno de los elementos clave del problema es la función ampliamente utilizada en los flujos de trabajo de GitHub llamada "actions/checkout", que clona el código del repositorio, haciéndolo accesible para la ejecución de los flujos de trabajo.

Artefacto creado por GitHub Actions

Por defecto, la función guarda el token en el directorio local .git. Si el directorio se carga accidentalmente como un artefacto, el token queda disponible para terceros. Además, en el directorio pueden almacenarse otros datos confidenciales, como claves API y tokens de acceso a servicios en la nube.

Token de GitHub expuesto públicamente

El problema se agrava por el hecho de que los artefactos generados en el proceso CI/CD, como los resultados de compilaciones y pruebas, pueden almacenarse y estar disponibles durante 3 meses. Otro riesgo son las variables de entorno utilizadas en los pipelines de CI/CD para almacenar tokens de GitHub. Estas variables pueden grabarse accidentalmente en los registros, quedando accesibles a través de los artefactos.

Como resultado de un ataque a los tokens filtrados, un atacante podría explotar varios escenarios de condición de carrera ("race condition"), tratando de extraer y utilizar los tokens antes de que expiren. Los tokens de GitHub son válidos durante la ejecución del flujo de trabajo, y la posibilidad de su uso depende del caso específico. Por ejemplo, el token "Actions_Runtime_Token", que GitHub utiliza para gestionar la caché y los artefactos, generalmente está activo durante 6 horas, lo que limita el tiempo para un ataque.

Cadena de ataque

Palo Alto Networks identificó 14 grandes proyectos open-source en los que hubo una fuga de tokens, y notificó a los desarrolladores. Entre los proyectos se encuentran Firebase (Google), OpenSearch Security (AWS), Clair (Red Hat), JSON Schemas (Microsoft) y otros.

Se recomienda a los usuarios de GitHub revisar la configuración de sus procesos CI/CD, evitar la carga de directorios completos en los artefactos, limpiar los registros y revisar periódicamente las configuraciones. También es importante establecer los mínimos permisos necesarios para los tokens para reducir los riesgos en caso de filtración.

A pesar de que Palo Alto Networks identificó los errores, los problemas principales siguen sin resolverse, ya que GitHub decidió no mitigar el riesgo, responsabilizando a los usuarios de la protección de los artefactos. Dada la situación, los usuarios de GitHub deben ser conscientes de los riesgos, evaluar su vulnerabilidad y tomar medidas para evitar fugas en el futuro.

Se recomienda encarecidamente a los usuarios revisar la configuración de sus pipelines CI/CD, evitar la inclusión de directorios completos en los artefactos, limpiar los registros y realizar revisiones periódicas de las configuraciones de los flujos de trabajo. También deben cambiar las configuraciones predeterminadas para acciones como "actions/checkout" para evitar el almacenamiento de tokens y otros datos confidenciales. Establecer los permisos mínimos necesarios para los tokens utilizados en los flujos de trabajo también ayudará a reducir el daño potencial en caso de una fuga.

No esperes a que los hackers te ataquen: ¡suscríbete a nuestro canal y conviértete en una fortaleza impenetrable!

Suscribirse