Im Continuous Integration-Dienst Travis CI, der für das Testen und den Aufbau von Projekten entwickelt wurde, die auf GitHub und Bitbucket entwickelt werden, wurde ein Sicherheitsproblem (CVE-2021-41077) entdeckt, das es ermöglicht, den Inhalt vertraulicher Umgebungsvariablen öffentlicher Repositories, die Travis CI verwenden, zu erfahren. Unter anderem erlaubt die Schwachstelle den Zugriff auf die in Travis CI verwendeten Schlüssel zur Erstellung digitaler Signaturen, Zugangsschlüssel und Token für den Zugriff auf die API.
Das Problem trat in Travis CI vom 3. bis 10. September auf. Bemerkenswert ist, dass die Informationen über die Schwachstelle am 7. September an die Entwickler übermittelt wurden, aber als Antwort nur eine allgemeine Empfehlung zur Schlüsseldrehung zurückkam. Ohne angemessenes Feedback nahmen die Forscher Kontakt mit GitHub auf und schlugen vor, Travis auf die schwarze Liste zu setzen. Das Problem wurde erst am 10. September nach einer Vielzahl von Beschwerden von verschiedenen Projekten behoben. Nach dem Vorfall wurde auf der Website von Travis CI ein mehr als merkwürdiger Bericht über das Problem veröffentlicht, der anstelle einer Information über die Behebung der Schwachstelle nur die genannte Empfehlung zur zyklischen Änderung der Zugangsschlüssel ohne Kontext enthielt.
Nach dem Aufschrei über die Verschleierung der Informationen, der von mehreren großen Projekten geäußert wurde, wurde im Support-Forum von Travis CI ein detaillierterer Bericht veröffentlicht, der warnte, dass der Eigentümer eines Forks eines öffentlichen Repositories durch das Einreichen eines Pull-Requests den Build-Prozess initiieren und unbefugten Zugriff auf vertrauliche Umgebungsvariablen des ursprünglichen Repositories erhalten konnte, die während des Builds basierend auf Feldern aus der Datei „.travis.yml“ oder über die Weboberfläche von Travis CI definiert werden. Solche Variablen werden verschlüsselt gespeichert und nur während des Builds entschlüsselt. Das Problem betraf nur öffentlich zugängliche Repositories, die Forks haben (private Repositories sind nicht betroffen).
Quelle: opennet.ru
