Eine ungepatchte Sicherheitslücke in der Travis CI API hat dazu geführt, dass die Benutzertoken von Zehntausenden von Entwicklern potenziellen Angriffen ausgesetzt sind. Dies ermöglicht es Bedrohungsakteuren, in Cloud-Infrastrukturen einzudringen, unerlaubte Codeänderungen vorzunehmen und Angriffe auf die Lieferkette zu starten.

„Mehr als 770 Millionen Logs von Free-Tier-Benutzern sind verfügbar, aus denen man leicht Token, Geheimnisse und andere Anmeldeinformationen für beliebte Cloud-Service-Anbieter wie GitHub, AWS und Docker Hub extrahieren kann“, so Forscher des Cloud-Sicherheitsunternehmens Aqua in einem Bericht vom Montag.

Travis CI ist ein kontinuierlicher Integrationsdienst, der zum Erstellen und Testen von Softwareprojekten auf Cloud-Repository-Plattformen wie GitHub und Bitbucket verwendet wird.

Das Problem, über das bereits in den Jahren 2015 und 2019 berichtet wurde, liegt darin begründet, dass die API den Zugriff auf historische Logs im Klartextformat erlaubt, so dass eine böswillige Partei sogar „die Logs abrufen kann, die zuvor über die API nicht verfügbar waren“.

Die Logs gehen bis Januar 2013 und bis Mai 2022 zurück und reichen von den Log-Nummern 4.280.000 bis 774.807.924, die verwendet werden, um ein eindeutiges Klartext-Log über die API abzurufen.

Eine weitere Analyse von 20.000 Protokollen ergab sogar 73.000 Token, Zugangsschlüssel und andere Anmeldedaten, die mit verschiedenen Cloud-Diensten wie GitHub, AWS und Docker Hub verbunden sind.

Und das, obwohl Travis CI versucht, die API zu begrenzen und automatisch sichere Umgebungsvariablen und Token aus den Build-Protokollen herauszufiltern, indem es an ihrer Stelle die Zeichenfolge „[secure]“ anzeigt.

Eine der wichtigsten Erkenntnisse ist, dass „github_token“ zwar verschleiert wurde, aber 20 andere Varianten dieses Tokens, die einer anderen Namenskonvention folgten – darunter github_secret, gh_token, github_api_key und github_secret – von Travis CI nicht maskiert wurden.

„Travis CI verlangsamt die Geschwindigkeit der API-Aufrufe, was die Abfrage der API erschwert“, so die Forscher. „In diesem Fall war dies jedoch nicht genug. Ein geschickter Angreifer kann einen Workaround finden, um dies zu umgehen“.

Die Kombination aus dem einfachen Zugriff auf die Logs über die API, der unvollständigen Zensur, dem Zugriff auf „eingeschränkte“ Logs und einem schwachen Verfahren zur Ratenbegrenzung und Sperrung des Zugriffs auf die API in Verbindung mit einer großen Anzahl potenziell offengelegter Logs führt jedoch zu einer kritischen Situation.“

Travis CI hat als Reaktion auf die Ergebnisse erklärt, dass das Problem „konstruktionsbedingt“ ist und dass die Benutzer bewährte Praktiken befolgen müssen, um zu vermeiden, dass Geheimnisse in den Build-Logs aufgedeckt werden, und dass sie Token und Geheimnisse regelmäßig austauschen müssen.

Die Ergebnisse sind besonders wichtig nach einer Angriffskampagne im April 2022, bei der gestohlene OAuth-Benutzertoken, die an Heroku und Travis CI ausgegeben wurden, genutzt wurden, um den Zugang zur NPM-Infrastruktur zu erweitern und ausgewählte private Repositories zu klonen.