Un problema de seguridad sin parches en la API de Travis CI ha dejado a decenas de miles de tokens de usuarios de desarrolladores expuestos a posibles ataques, lo que permite a los actores de amenazas violar las infraestructuras de la nube, realizar cambios de código no autorizados e iniciar ataques a la cadena de suministro.
«Hay más de 770 millones de registros de usuarios de nivel gratuito disponibles, de los cuales puede extraer fácilmente tokens, secretos y otras credenciales asociadas con proveedores de servicios en la nube populares como GitHub, AWS y Docker Hub», investigadores de la firma de seguridad en la nube Aqua. dijo en un informe del lunes.
Travis CI es un integración continua servicio utilizado para crear y probar proyectos de software alojados en plataformas de repositorio en la nube como GitHub y Bitbucket.
El problema, informado anteriormente en 2015 y 2019tiene su origen en el hecho de que la API permite el acceso a registros históricos en formato de texto claro, lo que permite que una parte malintencionada incluso «obtenga los registros que antes no estaban disponibles a través de la API».
Los registros se remontan a enero de 2013 y hasta mayo de 2022, y van desde los números de registro 4 280 000 hasta el 774 807 924, que se utilizan para recuperar un registro de texto simple único a través de la API.
Además, un análisis más profundo de 20 000 registros reveló hasta 73 000 tokens, claves de acceso y otras credenciales asociadas con varios servicios en la nube como GitHub, AWS y Docker Hub.
![Fichas de acceso de usuario Fichas de acceso de usuario](https://tkms-de-fra-teknomers.teknomers.com/wp-content/uploads/2022/06/1655202764_68_El-error-de-la-API-de-Travis-CI-sin-parches.jpg)
Esto es a pesar de los intentos de Travis CI de límite de velocidad de la API y filtrar automáticamente asegure las variables de entorno y los tokens de los registros de compilación mostrando la cadena «[secure]»en su lugar.
Una de las ideas críticas es que, si bien «github_token» estaba ofuscado, Travis CI no enmascaró otras 20 variaciones de este token que seguían una convención de nomenclatura diferente, incluidos github_secret, gh_token, github_api_key y github_secret.
«Travis CI ralentizó la velocidad de las llamadas API, lo que dificulta la capacidad de consultar la API», dijeron los investigadores. «Sin embargo, en este caso, esto no fue suficiente. Un actor de amenazas experto puede encontrar una solución para eludir esto».
«Sin embargo, la combinación de la facilidad de acceso a los registros a través de la API, la censura incompleta, el acceso a registros ‘restringidos’ y un proceso débil para limitar la velocidad y bloquear el acceso a la API, junto con una gran cantidad de registros potencialmente expuestos, da como resultado una situación crítica.»
Travis CI, en respuesta a los hallazgos, ha dicho que el problema es «por diseño», lo que requiere que los usuarios sigan las mejores prácticas para evitar filtrar secretos en los registros de compilación y rotar periódicamente tokens y secretos.
Los hallazgos son particularmente significativos a raíz de una campaña de ataque de abril de 2022 que aprovechó los tokens de usuario de OAuth robados emitidos a Heroku y Travis CI para escalar el acceso a la infraestructura de NPM y clonar repositorios privados seleccionados.