Schädlicher Code im purescript npm-Installationsprogramm

npm Purescript

Vor ein paar Tagen Mit dem PureScript-Installationsprogramm wurde in den Abhängigkeiten des npm-Pakets Schadcode erkanntDies zeigt sich beim Versuch, das Purescript-Paket zu installieren.

Schadcode eingebettet über Load-from-CWD-or-Npm-Abhängigkeiten und Geschwindigkeitskartenabhängigkeiten. Es ist zu beachten, dass der ursprüngliche Autor des npm-Pakets mit dem PureScript-Installationsprogramm, der bis vor kurzem mit der Wartung dieses npm-Pakets beschäftigt war, das Paket jedoch an andere Betreuer weitergegeben wurde, für die Begleitung von Paketen mit diesen Abhängigkeiten verantwortlich ist.

Über das Problem

Das Problem wurde von einem der neuen Analysten des Pakets entdeckt, auf den nach vielen unangenehmen Meinungsverschiedenheiten und Auseinandersetzungen mit dem ursprünglichen Autor des npm purescript-Pakets die Wartungsrechte übertragen wurden.

Die neuen Betreuer sind verantwortlich für den PureScript-Compiler und Sie bestanden darauf, dass das NPM-Paket mit seinem Installationsprogramm von den Betreuern selbst repariert werden muss, nicht von einem Entwickler außerhalb des Projekts.

Der Autor des npm-Pakets mit dem PureScript-Installer war lange nicht einverstanden, gab dann aber auf und gewährte Zugriff auf das Repository. Einige Abhängigkeiten blieben jedoch unter seiner Kontrolle.

Letzte Woche wurde die Veröffentlichung des PureScript 0.13.2-Compilers angekündigt und die neuen Betreuer haben das entsprechende Update des npm-Pakets mit dem Installer vorbereitet, für die der Schadcode erkannt wurde.

Der Schadcode wurde zuerst in das npm-Paket "load-from-cwd-or-npm" eingefügt. in Version 3.0.2 und dann im Rate-Map-Paket ab Version 1.0.3. In den letzten Tagen wurden mehrere Versionen beider Pakete veröffentlicht.

Aus dem Beitrag entfernt, der dem Autor des npm-Pakets mit dem PureScript-Installationsprogramm beilag, sagte er, dass sein Konto von unbekannten Angreifern kompromittiert worden sei.

Jedoch In seiner aktuellen Form beschränkten sich die Aktionen des Schadcodes lediglich auf die Sabotage der Installation des Pakets, die erste Veröffentlichung der neuen Betreuer. Schädliche Aktionen wurden auf eine Fehlerausgabeschleife reduziert, wenn versucht wurde, ein Paket mit dem Befehl „npm i -g purescript“ ohne explizite böswillige Aktivität zu installieren.

Es wurden zwei Angriffe identifiziert

Zusammenfassend Code sabotiert das Purescript NPM-Installationsprogramm, um den Abschluss des Downloads zu verhindern, was dazu führt, dass das Installationsprogramm während des Schritts „Überprüfen Sie, ob eine vorkompilierte Binärdatei für Ihre Plattform bereitgestellt wird“ abstürzt.

Der erste Exploit hat dies getan, indem das Paket load-from-cwd-or-npm unterbrochen wurde sodass jeder Aufruf von „loadFromCwdOrNpm()“ ein PassThrough anstelle des erwarteten Pakets zurückgibt (in diesem Fall das Anforderungspaket, das wir zum Herunterladen der Compiler-Binärdateien verwendet haben). Bei der zweiten Iteration des Exploits wurde dazu eine Quelldatei geändert, um zu verhindern, dass ein Download-Rückruf ausgelöst wird.

4 Tage Die Entwickler verstanden die Ursache der Fehler und bereiteten die Veröffentlichung eines Updates vor, um „load-from-cwd-o-npm“ von Abhängigkeiten auszuschließenhaben die Angreifer ein weiteres Update Load-from-cwd-or-npm 3.0.4 veröffentlicht, bei dem der Schadcode entfernt wurde.

Allerdings wurde fast sofort ein Update für eine andere Rate-Map 1.0.3-Abhängigkeit veröffentlicht, das einen Fix hinzufügte, der das Herunterladen des Callback-Aufrufs blockiert.

Das heißt, in beiden Fällen hatten die Änderungen in den neuen Versionen von Load-from-cwd-or-npm und der Kartenrate den Charakter einer scheinbaren Abweichung.

Darüber hinaus befand sich im Schadcode eine Prüfung, die nur bei der Installation der Version der neuen Betreuer fehlgeschlagene Aktionen auslöste und bei der Installation der Vorgängerversionen überhaupt nicht auftrat.

Die Entwickler haben das Problem behoben, indem sie ein Update veröffentlicht haben, das die problematischen Abhängigkeiten entfernt hat.

Um zu verhindern, dass kompromittierter Code auf den Systemen der Benutzer installiert wird, nachdem versucht wurde, die problematische Version von PureScript zu installieren.

Schließlich Der Entwickler empfiehlt an alle, die die genannten Versionen des Pakets auf ihrem System haben Entfernen Sie den Inhalt der Verzeichnisse „node_modules“ und der Dateien „package-lock.json“ und setzen Sie dann die Purescript-Version auf 0.13.2.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.