Eine neu offengelegte Schwachstelle zur Befehlsinjektion in der glob-CLI – einem der am weitesten verbreiteten Dienstprogramme im JavaScript-Ökosystem – hat unzählige CI-Pipelines dem Risiko einer unbemerkten Kompromittierung ausgesetzt.
Die Schwachstelle ermöglicht es Angreifern, beliebige Befehle auszuführen, indem sie lediglich einen Dateinamen kontrollieren, der über glob -c verarbeitet wird.
„Diese Schwachstelle hätte zur Remote-Code-Ausführung auf den Systemen führen können, auf denen die von uns täglich verwendete Software gehostet wird. Wenn ein vertrauenswürdiges Tool, das pro Woche millionenfach heruntergeladen wird, dazu genutzt werden kann, Befehle von Angreifern auszuführen, müssen wir beginnen, es als Risiko für die Software-Lieferkette zu betrachten“, sagte Stanislav Fort, Gründer und Chief Scientist bei AISLE.
Er fügte hinzu: „Ein einziger bösartiger Dateiname in einem Pull Request hätte Geheimnisse kompromittieren oder unbemerkt Build-Artefakte und Release-Pipelines verwundbar machen können. Obwohl die Patches verfügbar sind, erinnert uns diese Schwachstelle daran, dass Angreifer die Tools, die wir als selbstverständlichen Bestandteil unserer täglichen Arbeit betrachten, ausnutzen können, um auf Wege zuzugreifen, die wir nicht erkannt haben.“
Die Auswirkungen der Schwachstelle in der Glob-CLI
Die Schwachstelle (CVE-2025-64756) betrifft die glob-Versionen 10.2.0 bis 11.0.3 und damit jeden Workflow, der die CLI mit der Option -c/–cmd verwendet.
Bei mehr als 10 Millionen Downloads pro Woche bildet glob die Grundlage für Build-Tools, Automatisierungsskripte und CI/CD-Plattformen in zahlreichen Branchen.
Jede Umgebung, die nicht vertrauenswürdige Dateinamen verarbeitet – etwa Pull Requests, entpackte Archive oder von Benutzern hochgeladene Dateien –, könnte betroffen gewesen sein.
Forscher warnen, dass diese Schwachstelle die zunehmenden Risiken in Software-Lieferketten und Entwickler-Tools verdeutlicht.
Wie die Schwachstelle der Glob-CLI Befehlsinjektionen ermöglicht
Die Ursache des Problems liegt darin, wie die glob-CLI die Option -c implementierte.
Die Funktion sollte eigentlich einen Befehl auf Dateien ausführen, die einem Glob-Muster entsprechen. Betroffene Versionen übergaben diese Dateinamen jedoch direkt über shell: true an eine System-Shell.
Dadurch entstand eine gefährliche Mehrdeutigkeit, da POSIX-Shells Zeichen wie $(…), Backticks, Pipes und andere Metazeichen als ausführbare Syntax statt als wörtlichen Text interpretieren.
Dadurch konnte ein bösartiger Dateiname seine Argumentposition verlassen und beliebige Befehle ausführen.
Da dieses Verhalten die vollständige Ausführung von Code, den Diebstahl von Zugangsdaten und Manipulationen an der Software-Lieferkette ermöglichte, erhält die Schwachstelle einen CVSS-Score von 7,5 (hoch).
Für Angreifer ist die Ausnutzung mit sehr wenig Aufwand möglich.
Ein einziger präparierter Dateiname – etwa $(touch injected_poc) – reicht aus, um jeden Workflow zu bewaffnen, der die glob-CLI mit dem -c-Flag aufruft.
Dieses Risiko ist insbesondere in Umgebungen für Continuous Integration (CI) gravierend. Wenn ein Job einen Befehl wie glob -c echo “**/*” ausführt, findet die glob-CLI rekursiv Dateien im Repository und übergibt alle Dateinamen an den Befehl echo.
Unter normalen Bedingungen würde dadurch lediglich die Dateiliste ausgegeben. Da verwundbare Versionen von glob Befehle jedoch über eine Shell ausführten, wurden die Dateinamen direkt in eine Shell-Befehlszeichenkette eingesetzt.
Enthält auch nur einer dieser Dateinamen Shell-Metazeichen oder eine Syntax zur Befehlsauswertung, interpretiert die Shell ihn als ausführbaren Code und nicht als Dateinamen.
In der Praxis bedeutet das, dass ein bösartiger Dateiname wie $(touch injected_poc) zu einer Anweisung statt zu einer harmlosen Zeichenkette wird.
Sobald der CI-Job glob -c echo “**/*” aufruft, wertet die Shell die eingebettete Payload aus und führt touch injected_poc mit den Berechtigungen des CI-Runners aus.
Diese Berechtigungen umfassen häufig den Zugriff auf Quellcode, Umgebungsvariablen, Cloud-Zugangsdaten und Token für die Veröffentlichung von Software.
Was wie ein harmloser Schritt zur Auflistung von Dateien erscheint, wird so zur unbemerkten Ausführung von durch Angreifer kontrollierten Befehlen – eine erhebliche Bedrohung für die Software-Lieferkette.
Über das Auslösen eines CI-Workflows in einem Repository mit einem einzigen bösartigen Dateinamen hinaus ist keine Benutzerinteraktion erforderlich.
Wichtige Maßnahmen zur Verringerung des Risikos für die Software-Lieferkette
Um die Gefährdung durch diese Schwachstelle zu verringern und die Pipeline-Sicherheit zu stärken, sollten Unternehmen einen mehrschichtigen Ansatz verfolgen.
- Auf eine gepatchte Version von glob aktualisieren (v10.5.0, v11.1.0 oder v12.0.0) und jede Verwendung von glob -c durch das sicherere –cmd-arg/-g-Flag ersetzen.
- Codebasen, CI-Workflows und Automatisierungsskripte prüfen auf Shell-basierte Muster oder unsichere Verarbeitung von Dateinamen und alle Befehle entfernen oder umstrukturieren, die implizit eine Shell aufrufen.
- Alle Dateinamen als nicht vertrauenswürdige Eingaben behandeln und Dateien mit Shell-Metazeichen validieren, bereinigen oder unter Quarantäne stellen – insbesondere in CI-Pipelines, Dateiverarbeitungsdiensten und Workflows zum Hochladen von Dateien durch Benutzer.
- CI/CD-Umgebungen segmentieren und härten – durch die Isolierung nicht vertrauenswürdiger Jobs, die Beschränkung von Berechtigungen und die Verwendung kurzlebiger oder eng begrenzter Zugangsdaten.
- Shell-Ausführung innerhalb von CI-Runnern begrenzen und Ausführungsmodi ohne Shell bevorzugen sowie für alle automatisierten Schritte Konfigurationen nach dem Prinzip der minimalen Rechte durchsetzen.
- Ausgehenden Netzwerkzugriff aus CI-Umgebungen beschränken oder überwachen , um verdächtige Aktivitäten wie unbefugtes Erstellen von Dateien, Zugriff auf Zugangsdaten oder Versuche der Exfiltration nach außen zu erkennen oder zu blockieren.
- Umfassendere Schutzmaßnahmen für die Software-Lieferkette einführen – etwa die Signierung von Artefakten, die Nachverfolgung der Herkunft und regelmäßige Prüfungen von Skripten –, um Manipulationen zu erkennen und zu verhindern, dass kompromittierte Builds nachgelagert weiterverbreitet werden.
Diese Maßnahmen tragen dazu bei, die Widerstandsfähigkeit gegen diese und ähnliche Bedrohungen der Software-Lieferkette zu stärken.
Verborgene Risiken alltäglicher Entwickler-Tools
Diese Schwachstelle verdeutlicht, wie übersehene Designentscheidungen in gängigen Entwicklungstools erhebliche Sicherheitsrisiken verursachen können.
In diesem Fall war das Problem kein Programmierfehler, sondern eine Annahme darüber, wie Dateinamen verarbeitet würden – eine Lücke, die herkömmliche Scanner übersehen können.
Da Unternehmen zunehmend auf Automatisierung und Open-Source-Tools setzen, können sich Schwachstellen in Build-Dienstprogrammen schnell durch die Software-Lieferkette ausbreiten.
CVE-2025-64756 erinnert in der Praxis daran, dass selbst routinemäßige Workflow-Funktionen sorgfältig geprüft werden müssen, um eine unbeabsichtigte Gefährdung zu verhindern.
Dieser Herausforderung begegnen immer mehr Unternehmen mit Zero-Trust-Ansätzen, um besser zu kontrollieren, wie Tools, Benutzer und automatisierte Workflows innerhalb der Software-Lieferkette miteinander interagieren.





