Es wurden mehrere Sicherheitslücken in beliebten Paketmanagern bekannt, die ausgenutzt werden können, um beliebigen Code auszuführen und auf vertrauliche Informationen zuzugreifen, einschließlich Quellcode und Zugangstokens, von kompromittierten Rechnern.
Es ist jedoch erwähnenswert, dass die Schwachstellen voraussetzen, dass die betroffenen Entwickler ein bösartiges Paket in Verbindung mit einem der betroffenen Paketmanager verwenden.
„Das bedeutet, dass ein Angriff nicht direkt aus der Ferne auf einen Entwicklerrechner gestartet werden kann, sondern dass der Entwickler dazu gebracht werden muss, missgestaltete Dateien zu laden“, sagt SonarSource-Forscher Paul Gerste. „Aber kannst du die Eigentümer aller Pakete, die du aus dem Internet oder aus firmeninternen Repositories verwendest, immer kennen und ihnen vertrauen?“
Paketmanager bezeichnen Systeme oder eine Reihe von Tools, die zur automatischen Installation, Aktualisierung und Konfiguration von Drittanbieterabhängigkeiten verwendet werden, die für die Entwicklung von Anwendungen erforderlich sind.
Auch wenn es inhärente Sicherheitsrisiken gibt, wenn unseriöse Bibliotheken ihren Weg in die Paket-Repositories finden – die Abhängigkeiten müssen genau überprüft werden, um sich vor Typosquatting und Abhängigkeitsverwechslungen zu schützen -, wird die „Verwaltung von Abhängigkeiten normalerweise nicht als potenziell riskanter Vorgang angesehen.“
Die neu entdeckten Probleme in verschiedenen Paketmanagern machen jedoch deutlich, dass sie von Angreifern als Waffe eingesetzt werden können, um Opfer zur Ausführung von Schadcode zu verleiten. Die Schwachstellen wurden in den folgenden Paketmanagern identifiziert –
Composer 1.x < 1.10.23 und 2.x < 2.1.9
Bundler < 2.2.33
Bower < 1.8.13
Poesie < 1.1.9
Garne < 1.22.13
pnpm < 6.15.1
Pip (kein Fix), und
Pipenv (kein Fix)
Die wichtigste Schwachstelle ist ein Command-Injection-Fehler im Browse-Befehl von Composer, der dazu missbraucht werden kann, beliebigen Code auszuführen, indem eine URL zu einem bereits veröffentlichten bösartigen Paket eingefügt wird.
Sollte das Paket Typosquatting- oder Abhängigkeitsverwirrungstechniken ausnutzen, könnte dies zu einem Szenario führen, in dem das Ausführen des Browse-Befehls für die Bibliothek zum Abrufen eines Next-Stage-Payloads führt, der dann für weitere Angriffe genutzt werden kann.
Weitere Schwachstellen in Bundler, Poetry, Yarn, Composer, Pip und Pipenv, die durch die Einschleusung von Argumenten und nicht vertrauenswürdige Suchpfade aufgedeckt wurden, bedeuteten, dass ein böswilliger Akteur über eine mit Malware versehene Git-Datei oder eine von einem Angreifer kontrollierte Datei, wie z. B. ein Gemfile, das zur Angabe der Abhängigkeiten für Ruby-Programme verwendet wird, Code ausführen konnte.
Nach der Enthüllung am 9. September 2021 wurden Korrekturen veröffentlicht, um die Probleme in Composer, Bundler, Bower, Poetry, Yarn und Pnpm zu beheben. Composer, Pip und Pipenv, die alle drei von dem nicht vertrauenswürdigen Suchpfad betroffen sind, haben sich jedoch entschieden, den Fehler nicht zu beheben.
„Entwicklerinnen und Entwickler sind ein attraktives Ziel für Cyberkriminelle, weil sie Zugang zum wichtigsten geistigen Eigentum eines Unternehmens haben: dem Quellcode“, so Gerste. „Wenn sie kompromittiert werden, können Angreifer Spionage betreiben oder bösartigen Code in die Produkte eines Unternehmens einbetten. Dies könnte sogar dazu genutzt werden, Angriffe auf die Lieferkette zu starten.