Im npm-Paket glob wurde eine schwerwiegende Command-Injection-Schwachstelle in der Kommandozeilenoberfläche entdeckt. Betroffen sind die Versionen >= 10.2.0 bis < 10.5.0 sowie 11.0.x. Die Lücke ist unter CVE-2025-64756 registriert und wird mit hohem Schweregrad (CVSS 8.8) bewertet.
Ursache ist die -c/–cmd-Option der glob CLI. Bei deren Nutzung werden gefundene Dateinamen ungefiltert an eine Shell mit shell:true übergeben. Enthalten Dateinamen Shell-Metazeichen wie $(), Backticks oder Pipes, können diese beim Ausführen interpretiert werden und zur Ausführung beliebiger Befehle führen.
Die Schwachstelle betrifft ausschließlich die CLI-Komponente. Die eigentliche glob-Bibliothek und ihre API-Funktionen gelten als nicht verwundbar. Ein realistisches Angriffsszenario sind CI/CD-Pipelines oder Build-Skripte, die glob -c auf Inhalte aus untrusted Quellen anwenden, etwa bei Pull Requests oder automatisierter Verarbeitung von Archiven.
Angreifer können auf diese Weise Code mit den Rechten des ausführenden Benutzers oder CI-Accounts ausführen, inklusive Zugriff auf Umgebungsvariablen, Secrets und Netzwerkressourcen. Besonders kritisch ist dies in Linux- und macOS-Umgebungen, wie sie in vielen Build-Systemen eingesetzt werden.
Als Gegenmaßnahme wird dringend empfohlen, auf glob 10.5.0, 11.1.0 oder 12.0.0 zu aktualisieren. Alternativ sollten positional arguments durch –cmd-arg/-g ersetzt werden. Der Einsatz von –shell sollte nur in Ausnahmefällen erfolgen und ausschließlich dann, wenn ausgeschlossen ist, dass manipulierte Dateinamen verarbeitet werden.




