Start Microsoft Googles Project Zero enthüllt Details zu Sicherheitslücken mit „hohem Schweregrad“ mit Microsofts...

Googles Project Zero enthüllt Details zu Sicherheitslücken mit „hohem Schweregrad“ mit Microsofts GitHub

5
0


GitHub

Sicherheitsprobleme werden häufig von Googles Project Zero aufgedeckt; Erst vor wenigen Tagen enthüllten Sicherheitsforscher Details einer aktiv ausgenutzten Sicherheitslücke des Windows-Kernel-Kryptografie-Treibers.

Jetzt hat Project Zero Details zu einer schwerwiegenden Sicherheitslücke in einem anderen Microsoft-Unternehmen veröffentlicht – GitHub. Der Fehler bezieht sich auf die Workflow-Befehle von GitHub Actions und wird als hoher Schweregrad beschrieben. Es wurde bereits im Juli entdeckt, aber gemäß der standardmäßigen 90-tägigen Offenlegungsfrist werden Details erst jetzt veröffentlicht.

Siehe auch:

Auf einige Details eingehen Project Zero-Website, der Sicherheitsforscher, der den Fehler entdeckt hat – Felix Wilhelm – erklärt: „Github Actions unterstützt eine Funktion namens Workflow-Befehle (https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions) als Kommunikationskanal zwischen dem Aktionsläufer und der ausgeführten Aktion. Workflow-Befehle werden in runner/src/Runner.Worker/ActionCommandManager.cs (https://github.com/actions/runner/blob/0921af735a3c8fb6cf22ddc8a868b742816e24cf/src/Runner.Worker/ActionCommandManager.cs) und arbeiten, indem sie STDOUT aller ausgeführten Aktionen analysieren und nach einem von zwei Befehlsmarkern suchen“.

Er erklärt weiter:

V2-Befehle müssen am Anfang einer Zeile beginnen und so aussehen „::workflow-command parameter1={data},parameter2={data}::{command value}“. V1-Befehle können auch mitten in einer Zeile beginnen und haben folgende Syntax: „##[command parameter1=data;]command-value“. Die aktuelle Version des Github-Action-Runners unterstützt eine kleine Anzahl verschiedener Befehle, aber der aus Sicherheitsgründen interessanteste ist „set-env“. Wie der Name schon sagt, kann „set-env“ verwendet werden, um Definieren Sie beliebige Umgebungsvariablen als Teil eines Workflow-Schritts. Ein einfaches Beispiel (in V1-Syntax) wäre ##[set-env name=VERSION;]alpha, wodurch VERSION=alpha in die Umgebung aller nachfolgenden Schritte in einem Workflow eingefügt wird.

Das große Problem bei dieser Funktion besteht darin, dass sie sehr anfällig für Injektionsangriffe ist. Da der Runner-Prozess jede an STDOUT ausgegebene Zeile analysiert, um nach Workflow-Befehlen zu suchen, ist jede Github-Aktion, die nicht vertrauenswürdige Inhalte als Teil ihrer Ausführung druckt, anfällig. In den meisten Fällen führt die Möglichkeit, beliebige Umgebungsvariablen festzulegen, zur Remotecodeausführung, sobald ein anderer Workflow ausgeführt wird.

Die Behebung des Problems wird nicht einfach sein, da dies ein vollständiges Überdenken der Funktionsweise des Workflow-Befehls erfordern würde. Microsoft hat jedoch einen Hinweis veröffentlicht die den Benutzern mitteilt, wie sie Workflows aktualisieren.

Bildnachweis: Piotr Swat / Shutterstock



Vorheriger ArtikelSehen Sie sich Apples iPhone 11-Start auf YouTube an
Nächster ArtikelSo erhalten Sie das Windows 7-Startmenü in Windows 10

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein