In 42 NPM-Paketen ist ein sich selbst verbreitender Wurm integriert.

Durch die Kompromittierung des Release-Prozesses bei GitHub Actions gelang es Angreifern, 84 bösartige Versionen in das NPM-Repository zu veröffentlichen, die 42 NPM-Pakete aus dem TanStack-Stack betrafen. Einige der kompromittierten Pakete verzeichneten ĂŒber 10 Millionen Downloads pro Woche.

Der Zugriff auf die Veröffentlichung von Releases wurde aufgrund einer falschen Konfiguration des pull_request_target „Pwn Request“ in GitHub Actions erlangt (die Angabe einer Maske in den Einstellungen fĂŒhrte dazu, dass pull_request_target fĂŒr Pull-Requests in externe Forks ausgelöst wurde), durch Vergiftung des GitHub Actions-Caches ĂŒber einen Fork und die Möglichkeit, ein OIDC-Token aus dem Speicher des laufenden Runner-Prozesses (Runner.Worker) durch Lesen des Inhalts von /proc//mem zu extrahieren.

Die NPM-Pakete mit bösartigen Änderungen wurden am 11. Mai zwischen 22:20 und 22:26 (MSK) veröffentlicht, nach 20 Minuten bemerkt und nach anderthalb Stunden blockiert. FĂŒr jedes der betroffenen NPM-Pakete wurden zwei bösartige Versionen mit integriertem Code zur Aktivierung des Wurms mini-shai-hulud veröffentlicht, der nach Tokens und Anmeldedaten im aktuellen Umfeld sucht. Bei der Entdeckung eines Verbindungstokens zum NPM-Verzeichnis veröffentlichte der Wurm automatisch neue bösartige Releases fĂŒr die im aktuellen Umfeld entwickelten Pakete und traf damit den AbhĂ€ngigkeitsbaum. Dadurch wurden mehr als 400 NPM-Pakete, die TanStack-Pakete in ihren AbhĂ€ngigkeiten verwendeten, kompromittiert.

Der Wurm war in der Datei router_init.js eingebettet und aktivierte sich, wenn das betroffene Paket manuell vom Entwickler oder automatisiert in einer CI-Umgebung mit den Befehlen „npm install“, „pnpm install“ oder „yarn install“ installiert wurde. Nach der Aktivierung suchte der Wurm im System nach Tokens zu NPM (~/.npmrc), AWS, GCP, Azure, HashiCorp und Kubernetes K8s sowie nach privaten SSH-SchlĂŒsseln. Die gefundenen Daten wurden ĂŒber den dezentralen P2P-Messenger getsession.org an die Angreifer ĂŒbermittelt.

Der Wurm war so konzipiert, dass er destruktive Aktionen durchfĂŒhrt, falls das abgefangene NPM-Token zurĂŒckgezogen wird — im System wurde ein zeitgesteuertes Skript ~~/local/bin/gh-token-monitor.sh eingerichtet, das alle 60 Sekunden die AktivitĂ€t des Tokens ĂŒber einen Aufruf an api.github.com/user ĂŒberprĂŒfte und im Falle des Widerrufs des Tokens den Befehl „rm -rf ~/“ ausfĂŒhrte.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster