GitHub und GitHub Enterprise Server: Codeschmuggel per Push
In GitHub und GitHub Enterprise Server können Angreifer mit Push-Rechten auf Repositories Schadcode einschleusen. Updates korrigieren das.
(Bild: Sundry Photography/Shutterstock.com)
Eine Lücke mit eingebautem Ohrwurm „Push it“ von Salt-N-Pepa: Angreifer mit push-Berechtigung auf einem oder mehreren Repositories können einem GitHub Enterprise Server (und GitHub.com) Schadcode aus dem Netz unterjubeln. Dazu genügte ein Standard-git-Client.
Die IT-Forscher von Wiz haben die Lücke entdeckt und erörtern sie in einem Blog-Beitrag. Durch das Ausnutzen eines Injection-Fehlers in den internen GitHub-Protokollen konnte jeder authentifizierte Nutzer beliebige Befehle auf den Backend-Servern von GitHub ausführen, mit einem einzigen „git push“-Befehl. Wenig überraschend merken die Wiz-Forscher an, dass sie die Schwachstelle mit Zuhilfenahme von KI aufgespürt haben. Auf GitHub.com konnten sie Schadcode aus dem Netz auf geteilten Storage-Nodes ausführen. Auf GitHub Enterprise Server ließ sich der Server vollständig kompromittieren, einschließlich des Zugriffs auf alle gehosteten Repositories und internen Geheimnisse.
CVE-Eintrag mit knapper Fehlerbeschreibung
GitHub hat einen CVE-Schwachstelleneintrag dazu veröffentlicht. Demnach basiert die Schwachstelle auf unzureichender Filterung spezieller Elemente, die in Nutzeranfragen als Optionen zum push-Befehl übertragen werden. Sie wurden in interne Service-Header übernommen. Da diese Header ein Trennzeichen enthalten können, das auch in Nutzereingaben vorkommen kann, konnten Angreifer zusätzliche Metadaten-Felder mit manipulierten push-Optionen einschleusen (CVE-2026-3854, CVSS4 8.7, Risiko „hoch“). Die Schwachstelle wurde über das Bug-Bounty-Programm gemeldet – ob es eine Prämie gab und in welcher Höhe, schreibt GitHub nicht. Aufgrund einer Schwemme von mit KI-Hilfe generierten Schwachstellenmeldungen gehen zunehmend Projekte dazu über, keine Prämien mehr auszuzahlen.
GitHub.com habe innerhalb von sechs Stunden nach der Fehlermeldung reagiert und die Sicherheitslücken geschlossen, führen die IT-Forscher von Wiz aus. Zudem haben die Programmierer die Patches für alle unterstützten GitHub-Enterprise-Server-Fassungen veröffentlicht. Eine CVE-Schwachstellennummer mit Beschreibung folgte ebenso schnell. Wiz merkt an, dass zu dem Zeitpunkt der Veröffentlichung des Blog-Beitrags im Laufe des Dienstags noch 88 Prozent der GitHub-Enterprise-Server-Instanzen für die Sicherheitslücke anfällig waren.
Videos by heise
IT-Verantwortliche sollten ihre GitHub-Enterprise-Server-Instanzen daher auf die fehlerkorrigierten Stände aktualisieren. GitHub hat die Fehler in diversen Versionen des Enterprise-Servers geschlossen: 3.14.25, 3.15.20, 3.16.16, 3.17.13, 3.18.8, 3.19.4 und 3.20.0 (oder neuer). Die Schwachstellenbeschreibung auf GitHub nennt zudem noch die direkten Vorgängerversionen, Admins sollten jedoch laut GitHub-Blog-Beitrag auf die noch jüngeren Versionen aktualisieren. GitHub weist zudem darauf hin, dass die Sicherheitslücke bislang noch nicht in Angriffen missbraucht wurde.
(dmk)