Hace poco, Aqua Security di a conocer la publicación de los resultados de un estudio sobre la présence de données confidentielles dans les registres de compilation qui est disponible publiquement dans le système d’intégration continue de Travis CI.
Les enquêteurs han encontrado una manera de extraer 770 millions de registres de divers projets. Durante una carga de prueba de 8 millions de registres, se identificaron en los datos recibidos alrededor de 73 000 tokens, credenciales y claves de acceso associés avec divers services populaires, y compris GitHub, AWS et Docker Hub. L’information révélée permet de compromètre l’infrastructure de nombreux projets ouverts, par exemple, un a fuga similar condujo recientemente a un ataque a la infraestructura del proyecto NMP.
Travis CI est un service d’intégration continu qu’il utilise pour créer et tester des projets de logiciels hébergés sur GitHub et Bitbucket. Travis CI fue el primer servicio de CI que brindó servicios a proyectos de código abierto de forma gratuita y continua.
La source est un logiciel técnicamente libre et est disponible pour les parties en GitHub avec des licences permisivas. Sin embargo, la compañía señala que la gran cantidad de tareas qu’un usuario necesita monitorear y realizar puede dificultar que algunos usuarios integren con éxito la versión Enterprise con su propia infraestructura.
La fuga está relacionada con la capacidad de acceder a los registros de los usuarios del service gratuito Travis CI a través de l’API normal. Para determinar el range de posibles ID de registro, se usó otra API (“https://api.travis-ci.org/logs/6976822”), que brinda redirección para descargar el registro por número de serie. Au cours de l’enquête, fue possible identificar alrededor de 770 millions de registres créés à partir de 2013 jusqu’à mai de 2022 durante el montaje de proyectos que se enmarcan en el plan de tarifa libre sin autenticación.
En nuestra última investigación, en Team Nautilus descubrimos que decenas de miles de tokens de usuario están expuestos a través de la API de Travis CI, que permite que cualquier persona acceda a registros históricos de texto sin cifrar. Hay disponible plus de 770 millions de registres d’utilisateurs de niveau gratuit, de los cuales puede extraer facilement jetons, secretos y otras credenciales asociadas con proeedores de servicios en la nube populares, como GitHub, AWS y Docker Hub. Los atacantes pueden usar estos datos confidenciales para lanzar ciberataques masivos y moverse lateralmente en la nube.
Divulgamos nuestros hallazgos a Travis, quien respondió que este problema es «por diseño», por lo que todos los secretos están available actualmente. Todos los usuarios del nivel gratuito de Travis CI están potentiellement expuestos, por lo que recomendamos rotar sus claves de inmediato.
Un análisis de la muestra de prueba mostró quedans beaucoup de cas, el registro refleja claramente los parámetros de acceso a los repositorioslas API y los almacenamientos, suficientes para acceder a los repositorios privados, realizar cambios en el código o connectarse a los entornos de nube utilizados en la infraestructura.
Par exemple, en los registros se encontraron tokens para conectarse a repositorys in GitHub, contraseñas para alojar ensamblajes in Docker Hub, claves para acceder a entornos de Amazon Web Services (AWS), parameters de conexión for MySQL y PostgreSQL DBMS.
Es destacar que los investigadores registraron filtraciones similares a través de la API en 2015 y 2019. Después de incidentes anteriores, Travis agregó ciertas restricciones para dificultar la carga masiva de datos y reducir el acceso a la API, pero estas restricciones se superaron. Además, Travis intentó limpiar los datos confidenciales de los registros, pero los datos solo se borraron parcialmente.
Ce problème se informó a Travis CI en el pasado y se publicó en los medios de comunicación en 2015 y 2019, pero nunca se solucionó por completo. En 2015, Travis CI a publié une notification concernant une information concernant l’incident que la décision :
“Actuellement, nous expérimentons une distribution ataque dans la nouvelle API publique que nous créons comme objet de révéler les jetons d’authentification de GitHub. Las contramedidas se mantienen y actualizaremos en conséquence ».
La filtración afectó principalemente a los usuarios de proyectos de código abiertoa quienes Travis brinda acceso gratuito a su servicio de integración continua.
En el transcurso de una verificación realizada por algunos prouveedores de servicios, se confirmó qu’aproximadamente la mitad de los tokens y claves extraídos de los registros siguen funcionando. Se recomienda a todos los usuarios de la versión gratuita del servicio Travis CI que cambien urgentemente las claves de acceso, así como que configuren la eliminación de los registros de compilación y verifiquen que los datos confidenciales no se envíen al registro.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.