SicherheitsanfĂ€lligkeit in NPM, die zu Dateischreibungen im System fĂŒhrt.

Das Unternehmen GitHub hat Details zu sieben Schwachstellen in den Tar- und @npmcli/arborist-Paketen veröffentlicht, die Funktionen zur Verarbeitung von Tar-Archiven und zur Berechnung von AbhĂ€ngigkeitsbĂ€umen in Node.js bereitstellen. Diese Schwachstellen ermöglichen es, beim Entpacken eines speziell gestalteten Archivs Dateien außerhalb des Wurzelverzeichnisses, in das entpackt wird, entsprechend den aktuellen Zugriffsrechten zu ĂŒberschreiben. Die Probleme eröffnen die Möglichkeit, beliebigen Code im System auszufĂŒhren, etwa durch das HinzufĂŒgen von Befehlen zu ~/ .bashrc oder ~/ .profile, wenn die Operation von einem nicht privilegierten Nutzer durchgefĂŒhrt wird, oder durch Ersetzen von Systemdateien bei der AusfĂŒhrung mit root-Rechten.

Die GefĂ€hrlichkeit der Schwachstellen wird dadurch verstĂ€rkt, dass der problematische Code im Paketmanager npm bei Operationen mit npm-Paketen verwendet wird, was es ermöglicht, einen Angriff auf Benutzern durch das Bereitstellen eines speziell gestalteten npm-Pakets im Repository zu organisieren, wobei bei der Verarbeitung in dem System der Code des Angreifers ausgefĂŒhrt wird. Ein Angriff ist sogar bei der Installation von Paketen im Modus „--ignore-scripts“, der die AusfĂŒhrung eingebauter Skripte deaktiviert, möglich. Insgesamt trifft npm vier Schwachstellen (CVE-2021-32804, CVE-2021-37713, CVE-2021-39134 und CVE-2021-39135) von sieben. Die ersten beiden Probleme betreffen das Tar-Paket, wĂ€hrend die anderen beiden das Paket @npmcli/arborist betreffen.

Die gefĂ€hrlichste Schwachstelle CVE-2021-32804 resultiert daraus, dass beim Bereinigen der im Tar-Archiv angegebenen absoluten Pfade wiederholte Zeichen „/“ nicht korrekt behandelt werden – nur das erste Zeichen wird entfernt, wĂ€hrend die anderen erhalten bleiben. Beispielsweise wird der Pfad „/home/user/.bashrc“ in „home/user/.bashrc“ umgewandelt, wĂ€hrend der Pfad „//home/user/.bashrc“ in „/home/user/.bashrc“ umgewandelt wird. Die zweite Schwachstelle CVE-2021-37713 tritt nur auf der Windows-Plattform auf und hĂ€ngt mit der fehlerhaften Bereinigung relativer Pfade zusammen, die ein nicht geteiltes Laufwerksymbol („C:some\path“) und eine Sequenz zum ZurĂŒckkehren zum vorherigen Verzeichnis („C:.. /foo“) enthĂ€lt.

Die Schwachstellen CVE-2021-39134 und CVE-2021-39135 sind spezifisch fĂŒr das Modul @npmcli/arborist. Das erste Problem tritt nur auf Systemen auf, die keine Groß- und Kleinschreibung im Dateisystem unterscheiden (macOS und Windows), und ermöglicht das Schreiben von Dateien in einen beliebigen Teil des Dateisystems, indem in den AbhĂ€ngigkeiten die beiden Module ‘»foo»: «file:/some/path»‘ und ‘FOO: «file:foo.tgz»‘ angegeben werden, deren Verarbeitung zum Löschen des Inhalts des Verzeichnisses /some/path und zum Schreiben des Inhalts von foo.tgz in dieses Verzeichnis fĂŒhrt. Das zweite Problem ermöglicht das Überschreiben von Dateien durch Manipulation von symbolischen Links.

Die Schwachstellen wurden in den Versionen Node.js 12.22.6 und 14.17.6, npm CLI 6.14.15 und 7.21.0 sowie in einzelnen Versionen des Tar-Pakets 4.4.19, 5.0.11 und 6.1.10 behoben. Nachdem Informationen zu dem Problem im Rahmen der „Bug-Bounty“-Initiative bereitgestellt wurden, zahlte GitHub den Forschern 14.500 USD und scannte den Inhalt des Repositories, in dem keine Versuche zur Ausnutzung der Schwachstellen festgestellt wurden. Um sich vor den genannten Problemen zu schĂŒtzen, fĂŒhrte GitHub zudem ein Verbot der Veröffentlichung von NPM-Paketen ein, die symbolische Links, harte Links und absolute Pfade enthalten.

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