Malware in Dependency von Webpack eingeschleust

Der ESLint-Hack, Webpack und npm: Was war los?
Keine Kommentare

In zwei ESLint-Packages auf npm wurde Schadcode eingeschleust. Betroffen war eine Dependency von Webpack. Was war los und welche Auswirkungen hat der Angriff?

Der gestern mit ESLint ausgelieferte Schadcode befand sich in zwei npm-Packages des JavaScript-Linters. Betroffen waren die Versionen eslint-config-eslint@5.0.2 und eslint-scope@3.7.2, die beide am gestrigen Vormittag über einen Contributor-Account veröffentlicht worden waren. Der Account wurde mutmaßlich über einen Datendiebstahl auf einem anderen Portal kompromittiert, auf dem der Nutzer dieselben Zugangsdaten verwendete.

ESLint-Scope: Angriff auf npm Access Tokens

Die infizierten Dateien waren darauf programmiert, nach der Installation auf die .npmrc-Dateien betroffener Nutzer zuzugreifen und deren Inhalt an die Angreifer zu senden. In .npmrc-Dateien werden Access Tokens für das Publizieren von Packages auf npm gespeichert. Während es sich bei eslint-config-eslint um ein Package handelt, das vornehmlich innerhalb des ESLint-Teams genutzt wird, ist eslint-scope ein Analysetool, das als Dependency in aktuellen Versionen von Webpack und babel-eslint verwendet wird.

Die infizierte Version von eslint-scope wurde binnen einer Stunde nach Veröffentlichung durch einen Nutzer auf GitHub gemeldet und 2,5 Stunden nach Veröffentlichung durch das npm-Team entfernt. Die Angreifer selbst zogen eslint-config-eslint@5.0.2 zurück, bevor die infizierte Version von eslint-scope veröffentlicht wurde, sodass die erste infizierte Datei nur sehr kurz auf npm bereit stand.

ESLint-Scope: Version 3.7.3 überschreibt Schadcode

Für betroffene Nutzer, die eslint-scope@3.7.2 installiert haben, stellte das ESLint-Team am Abend des 12. Juli Version 3.7.3 zur Verfügung, das den Code von Version 3.7.1 enthält und im Fall einer automatischen Update-Installation der infizierten Version ebenfalls automatisch ausgespielt wird. Dies ist der Timeline zu entnehmen, die das ESLint-Team im ESLint-Blog veröffentlichte.

npm Incident Report: alle Access Tokens annulliert

Laut npm seien potenziell 4.500 Accounts vom Angriff betroffen gewesen, deren Access Tokens ausgelesen seien worden könnten. Es gebe allerdings keine Hinweise darauf, dass den Angreifern tatsächlich Access Tokens übermittelt worden seien oder im Zusammenhang mit diesem Angriff unberechtigte Zugriffe auf andere Accounts stattgefunden hätten. Dennoch annullierte npm alle Access Tokens, die vor der Entfernung der betroffenen ESLint-Packages ausgegeben wurden. Dies betrifft laut Incident-Report im npm-Blog alle npm-Nutzer mit Access Tokens.

Es handelte sich jedoch nicht um eine Sicherheitslücke bei npm selbst, die hier genutzt wurde, wie das npm-Team betont. Auch wäre der Breach laut npm durch die Verwendung einer Zwei-Faktor-Authentifizierung wohl vermeidbar gewesen, wie npm- und ESLint-Team übereinstimmend mitteilen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

X
- Gib Deinen Standort ein -
- or -