Googles Project Zero deckt Sicherheitslücke bei GitHub auf

Das Sicherheitsteam hat das Risiko der gefundenen Schwachstelle für Entwickler als hoch eingestuft. Eine schnelle Lösung des Problems gibt es bisher nicht.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen

(Bild: PhotoworldPro/Shutterstock.com)

Lesezeit: 3 Min.

Das Team hinter Googles Project Zero hat eine Sicherheitsschwachstelle bei GitHub aufgedeckt. Project Zero spürt Schwachstellen und Fehler in Googles eigener Software sowie in von anderen Unternehmen entwickelter Software auf. Wurden Schwachstellen identifiziert, gibt das Sicherheitsteam diese direkt an die Anbieter weiter. Im Anschluss haben die Betroffenen 90 Tage Zeit, um die Fehler zu beheben, bevor diese der Öffentlichkeit preisgegeben werden.

Die gefundene Schwachstelle stuft das Project Zero als hoch ein. Der Kern des Problems sei, dass die Workflow-Befehle, die als Kommunikationskanal zwischen den ausgeführten Actions und dem Action Runner dienen, in GitHub Actions wohl extrem anfällig für Injections-Angriffe seien. Bei dieser Vorgehensweise übergeben Angreifer einem Programm nicht vertrauenswürdige Inhalte, die das System verändern und stören können.

Der Finder der Sicherheitslücke, Felix Wilhelm, beschreibt seinen Fund wie folgt: Da der Runner-Prozess jede Zeile an stdout (Standard-Datenströme) auf der Suche nach Workflow-Befehlen parst, sei jede GitHub Action anfällig, die nicht vertrauenswürdige Inhalte im Rahmen ihrer Ausführung ausgibt. In den meisten Fällen führe die Möglichkeit, beliebige Umgebungsvariablen festzulegen, zur Remote-Code-Ausführung, sobald ein anderer Workflow ausgeführt wird. Remote Code Execution beschreibt die Möglichkeit eines Angreifers, aus der Ferne auf Computer und Endgeräte zuzugreifen und Änderungen durch- und/oder Software auszuführen. Wilhelm habe einige Zeit damit verbracht, sich beliebige GitHub-Repositories anzusehen, und fast jedes Projekt mit komplexeren GitHub Actions sei für diese Fehlerklasse anfällig.

Eine schnelle Lösung für das Problem sehe er nicht, da die Art und Weise, wie Workflow-Befehle implementiert werden, grundsätzlich unsicher seien. Eine kurzfristige Lösung bestünde darin, die Befehlssyntax zu verwerfen, wohingegen eine langfristige Lösung darin bestünde, Workflow-Befehle in einen Kanal außerhalb des Ausgangskanals zu verlagern, was jedoch auch andere Teile des abhängigen Codes beeinträchtigen würde.

Gemäß der Timeline im "Issue 2070" des Project Zero wurde diese Sicherheitslücke bereits am 21. Juli 2020 entdeckt. Üblicherweise gewährt das Projekt dem Anbieter 90 Tage, um den Fehler zu beheben, bevor sie der Öffentlichkeit preisgegeben werden. Die Frist für GitHub endete demnach am 18. Oktober.

Die Unternehmungen des Software-Hosters zur Behebung der Sicherheitslücke stimmten offenbar nicht mit dem Standardverfahren von Project Zero zur Offenlegung überein, sodass das Sicherheitsteam mit der Schwachstelle und einem zur Verfügung gestellten Proof-of-Concept-Code nun an die Öffentlichkeit tritt. Weitere Informationen finden sich im Beitrag von Project Zero.

(mdo)