Angriff auf NPM, der es ermöglicht, das Vorhandensein von Paketen in privaten Repositories zu erkennen

In NPM wurde eine Schwachstelle entdeckt, die es ermöglicht, die Existenz von Paketen in geschlossenen Repositories zu bestimmen. Das Problem entsteht durch unterschiedliche Reaktionszeiten bei der Anfrage nach einem existierenden und einem nicht existierenden Paket durch einen externen Benutzer, der keinen Zugriff auf das Repository hat. Bei fehlendem Zugriff auf alle Pakete in privaten Repositories gibt der Server registry.npmjs.org einen Fehlercode „404“ zurück, aber im Falle der Existenz eines Pakets mit dem angeforderten Namen wird der Fehler mit spürbarer Verzögerung ausgegeben. Ein Angreifer kann diese Besonderheit nutzen, um das Vorhandensein eines Pakets durch das Ausprobieren von Paketnamen aus Wörterbüchern zu bestimmen.

Die Definition von Paketnamen in geschlossenen Repositories kann erforderlich sein, um eine Angriffsfläche durch Dependency-Mixing zu schaffen, die die Überschneidung von Abhängigkeitsnamen in öffentlichen und internen Repositories manipuliert. Wenn ein Angreifer kennt, welche internen NPM-Pakete in den Unternehmens-Repositories vorhanden sind, kann er Pakete mit denselben Namen und neueren Versionsnummern im öffentlichen NPM-Repository bereitstellen. Wenn die internen Bibliotheken bei der Erstellung nicht explizit auf ihr Repository festgelegt sind, betrachtet der Paketmanager npm das öffentliche Repository als vorrangig und lädt das vom Angreifer präparierte Paket herunter.

GitHub wurde im März über das Problem informiert, weigerte sich jedoch, einen Schutz gegen den Angriff hinzuzufügen, da architektonische Einschränkungen vorliegen. Unternehmen, die private Repositories nutzen, wird empfohlen, regelmäßig nach überschneidenden Namen im öffentlichen Repository zu suchen oder von ihrem Namen Platzhalter mit Namen zu erstellen, die den Namen der Pakete in den privaten Repositories entsprechen, um zu verhindern, dass Angreifer ihre Pakete mit überschneidenden Namen platzieren.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster