Paketmanager: Homebrew vergisst Zugangstoken auf öffentlichem Server
Beim beliebten Paketmanager Homebrew für MacOS ist es möglich gewesen, unbefugt Commits im offiziellen Github-Repo des Projekts einzufügen. Grund war ein öffentlich einsehbarer Github-API-Token.

Der Entwickler Eric Holmes hat in der öffentlich zugänglichen Jenkins-Instanz des Homebrew-Projekts einen Zugangstoken für das Github-Verzeichnis des weitverbreiteten Paketmanagers für MacOS gefunden. Damit war es ihm eigenen Angaben zufolge möglich, Schreibrechte für die zentralen Repos 'brew', 'homebrew-core' und 'formulae.brew.sh' zu erlangen und eigene Commits einzustellen.
"Ich bin mit dem Ziel herangegangen zu schauen, ob ich mir Zugang zum Github-Repository von Homebrew verschaffen kann. Nur 30 Minuten später habe ich meinen ersten Commit in Homebrew/homebrew-core eingestellt", schreibt Holmes auf dem Blogging-Portal Medium. Auf seiner Suche habe er die offenbar bewusst öffentlich zugängliche Jenkins-Instanz des Projekts gefunden und sei dort schnell auf einen API-Token für Github aufmerksam geworden. Dieser gewährte ihm volle Commit-Rechte auf die zentralen Github-Repos von Homebrew.
Ein lohnendes Angriffsziel
Paketmanager spielen eine zentrale Rolle bei der sicheren Verteilung und Aktualisierung von Software über das Internet. "Homebrew hat Hunderttausende von Nutzern, einschließlich in einigen der größten Silicon-Valley-Firmen. Das am häufigsten installierte Paket der vergangenen 30 Tage ist Openssl mit über 500.000 Downloads", schreibt Holmes. "Wenn ich Böses gewollt hätte, hätte ich mit einer kleinen, wahrscheinlich unbemerkten Änderung an der Installationsformel des Openssl-Pakets eine Hintertür auf jedem Gerät platzieren können, das Openssl installiert." Diese Art von "Supply-Chain-Attacken" seien eine echte und andauernde Bedrohung. Obwohl der Fehler klar bei Homebrew liegt, ist dies Holmes zufolge keine Homebrew-spezifische Schwäche. Es handele sich stattdessen um ein systemisches Problem der Softwareindustrie. Die IT-Sicherheitsforschung müsse sich mehr mit Paketmanagern beschäftigen, schreibt er.
Problem schnell gelöst
Durch Holmes informiert, widerrief das Homebrew-Team den Zugangstoken offenbar innerhalb weniger Stunden. In einem Security Advisory heißt es außerdem, keines der Pakete im Repository sei kompromittiert worden. "Wir haben den Github-Support kontaktiert und sie haben überprüft, dass der betroffene Token nicht benutzt wurde, um irgendwelchen Code in die Repositories zu pushen."
Zudem seien weitere, in die Zukunft gerichtete Sicherheitsmaßnahmen ergriffen worden. Das Projekt nutze nun Branch Protection, eine Github-Funktion die nicht korrigierbare Code-Änderungen verhindert, und habe Zwei-Faktor-Authentifizierung via SMS deaktiviert. Holmes Empfehlung, in Zukunft auch auf GPG-signierten Code zu setzen, habe das Homebrew-Team aber als zu unpraktikabel verworfen.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Ja, Windows ist unpraktibalel für Entwickler. Sie sollten vielleicht in Erwägung ziehen...
k.T.
Heute gewinnt auf jeden Fall das hier.