Sicherheitslücke in Travis CI, die öffentliche Repository-Schlüssel preisgibt

Im kontinuierlichen Integrationsdienst Travis CI wurde ein Sicherheitsproblem (CVE-2021-41077) festgestellt, das zum Testen und Erstellen von auf GitHub und Bitbucket entwickelten Projekten entwickelt wurde und es Ihnen ermöglicht, den Inhalt vertraulicher Umgebungsvariablen öffentlicher Repositorys mithilfe von Travis herauszufinden CI. Die Schwachstelle ermöglicht es unter anderem herauszufinden, welche Schlüssel in Travis CI zur Generierung digitaler Signaturen, Zugriffsschlüssel und Token für den Zugriff auf die API verwendet werden.

Die Ausgabe war vom 3. bis 10. September in Travis CI vorhanden. Bemerkenswert ist, dass am 7. September Informationen über die Sicherheitslücke an die Entwickler gesendet wurden, aber nur eine Antwort mit der Empfehlung zur Verwendung der Schlüsselrotation einging. Als die Forscher kein entsprechendes Feedback erhielten, kontaktierten sie GitHub und boten an, Travis auf die schwarze Liste zu setzen. Das Problem wurde erst am 10. September behoben, nachdem zahlreiche Beschwerden von verschiedenen Projekten eingegangen waren. Nach dem Vorfall wurde auf der Website von Travis CI ein mehr als seltsamer Problembericht veröffentlicht, der, statt über die Behebung der Schwachstelle zu informieren, lediglich eine aus dem Kontext gerissene Empfehlung zum Durchlaufen von Zugriffsschlüsseln enthielt.

Nach der Empörung über das Zurückhalten von Informationen durch mehrere Großprojekte wurde im Travis CI-Supportforum ein ausführlicherer Bericht veröffentlicht, in dem gewarnt wurde, dass der Fork-Besitzer eines öffentlichen Repositorys durch die Übermittlung einer Pull-Anfrage den Build-Prozess initiieren und sich unbefugten Zugriff verschaffen könnte auf vertrauliche Umgebungsvariablen des ursprünglichen Repositorys, die zum Zeitpunkt der Erstellung basierend auf Feldern aus der Datei „.travis.yml“ festgelegt oder über die Travis CI-Webschnittstelle definiert werden. Solche Variablen werden in verschlüsselter Form gespeichert und erst zum Zeitpunkt der Erstellung entschlüsselt. Das Problem betraf nur öffentlich zugängliche Repositories mit Forks (private Repositories werden nicht angegriffen).

Source: opennet.ru

Kommentar hinzufügen