In NPM, dem Standard-Paketmanager für die JavaScript-Laufzeitumgebung Node.js, wurde ein „logischer Fehler“ entdeckt, der es böswilligen Akteuren ermöglicht, gefälschte Bibliotheken als legitim auszugeben und ahnungslose Entwickler dazu zu bringen, sie zu installieren.
Diese Bedrohung der Lieferkette wurde von Forschern der Cloud-Sicherheitsfirma Aqua als „Package Planting“ bezeichnet. Nachdem das Problem am 10. Februar bekannt wurde, wurde es am 26. April von NPM behoben.
„Bis vor kurzem war es mit NPM möglich, jeden als Betreuer eines Pakets hinzuzufügen, ohne diese Nutzer zu benachrichtigen oder ihre Zustimmung einzuholen“, so Yakir Kadkoda von Aqua in einem am Dienstag veröffentlichten Bericht.
Das bedeutete, dass ein Angreifer mit Malware verseuchte Pakete erstellen und sie vertrauenswürdigen, beliebten Maintainern ohne deren Wissen zuweisen konnte.
Die Idee dahinter ist, dem vom Angreifer kontrollierten vergifteten Paket vertrauenswürdige Eigentümer anderer beliebter NPM-Bibliotheken hinzuzufügen, in der Hoffnung, dass dies Entwickler dazu verleitet, das Paket herunterzuladen.
Die Folgen eines solchen Angriffs auf die Lieferkette sind aus mehreren Gründen erheblich. Er erweckt nicht nur ein falsches Vertrauen bei den Entwicklern, sondern könnte auch den Ruf der legitimen Paketbetreuer schädigen.
Die Enthüllung erfolgt, nachdem Aqua zwei weitere Schwachstellen in der NPM-Plattform im Zusammenhang mit der Zwei-Faktor-Authentifizierung (2FA) aufgedeckt hat, die missbraucht werden könnten, um Angriffe zur Übernahme von Konten zu ermöglichen und bösartige Pakete zu veröffentlichen.
„Das Hauptproblem ist, dass jeder NPM-Benutzer dies durchführen und andere NPM-Benutzer als Betreuer ihres eigenen Pakets hinzufügen kann“, sagte Kadkoda. „Letztendlich sind die Entwickler/innen dafür verantwortlich, welche Open-Source-Pakete sie bei der Erstellung von Anwendungen verwenden.“