Die neu entdeckte Sicherheitslücke Cordyceps ermöglicht unauthentifizierten Angreifern die Übernahme von über 300 GitHub-Repositories großer Konzerne.
Das IT-Sicherheitsunternehmen Novee Security hat eine neue Klasse von Schwachstellen in Continuous-Integration- und Continuous-Deployment-Abläufen (CI/CD) identifiziert. Die unter dem Namen Cordyceps zusammengefassten Mängel betreffen die Konfigurationen in GitHub Actions YAML-Dateien. Durch fehlerhafte Berechtigungsvergaben bei der Verarbeitung von Pull Requests können externe, nicht verifizierte Akteure privilegierte Abläufe manipulieren.
Ein Angreifer benötigt für die Übernahme betroffener Repositories lediglich ein reguläres, kostenfreies Benutzerkonto auf der Plattform. Traditionelle Sicherheits-Scanner übersehen diese Schwachstellen häufig, da die einzelnen Komponenten technisch fehlerfrei und wie vorgesehen arbeiten. Das Risiko entsteht erst durch die unsichere Kombination und Verknüpfung von Daten über interne Vertrauensgrenzen hinweg. Elad Meged, Gründungsingenieur und Sicherheitsforscher bei Novee Security, erklärte zu den technischen Gegebenheiten:
„Die Schwachstelle ist für jeden unauthentifizierten Benutzer ausnutzbar. Keine Organisationsmitgliedschaft oder spezielle Privilegien; ein kostenloser Account reicht aus, um Freigaben zu fälschen, Code zu übertragen oder Anmeldedaten zu stehlen.“
Elad Meged, Gründungsingenieur und Sicherheitsforscher bei Novee Security
Betroffene Großkonzerne und dokumentierte Angriffsvektoren
Im Rahmen einer Sicherheitsüberprüfung von rund 30.000 einflussreichen Code-Verzeichnissen stufte Novee Security insgesamt 654 Repositories als verdächtig ein, wovon über 300 vollständig ausnutzbar waren. Die Sicherheitslücken ermöglichten unter anderem die Einschleusung von Schadcode, den Diebstahl von Automatisierungs-Tokens und die Manipulation von Software-Lieferketten. Zu den betroffenen Organisationen gehören weltweite Technologieunternehmen und Open-Source-Stiftungen:
- Bei Microsofts Azure Sentinel ermöglichte ein manipulierter Kommentar zu einem Pull Request die Ausführung von anonymem Code in der CI-Umgebung sowie den Diebstahl eines dauerhaft gültigen GitHub-App-Schlüssels.
- Bei Googles AI Agent Development Kit (adk-samples) konnte ein Angreifer über einen Pull Request externen Code ausführen und vollständige Rechte über ein Google-Cloud-Repository erlangen.
- Bei Apache Doris erlaubten zwei identifizierte Fehler die Ausspielung fest hinterlegter Anmeldedaten oder Tokens mit vollen Schreibrechten über einfache Kommentare zu Pull Requests oder Code-Abspaltungen.
- Beim Cloudflare Workers SDK führte ein präparierter Branch-Name zur Ausführung beliebiger Befehle auf den CI-Runnern des Unternehmens.
- Bei Black, dem Code-Formatierer der Python Software Foundation, reichte ein einzelner Pull Request aus, um den Automatisierungs-Token des Build-Systems zu entwenden und für nachfolgende Code-Freigaben zu missbrauchen.
KI-gestützte Vervielfältigung und Patches für GitHub-Lücke
Die weite Verbreitung dieses Fehlers wird maßgeblich durch den Einsatz moderner KI-Programmierungswerkzeuge begynnstigt. Diese autonomen Programmier-Assistenten generieren CI/CD-Konfigurationen in hoher Geschwindigkeit und duplizieren unsichere Vorlagen und Logikfehler unbemerkt über Millionen von Verzeichnissen hinweg. Nach der vertraulichen Meldung der Sicherheitsrisiken durch die Forscher haben die betroffenen Akteure reagiert. Microsoft und Google bestätigten die Sicherheitsrisiken offiziell, während Cloudflare, Apache und die Python Software Foundation entsprechende Systemhärtungen und Sicherheits-Patches implementiert haben.
(red)