In rest-client und weiteren 10 Ruby-Paketen wurde schadhafter Code festgestellt

Im beliebten Gem-Paket rest-client, das insgesamt 113 Millionen Downloads zählt, entdeckt eine Einfügung von bösartigem Code (CVE-2019-15224), der ausführbare Befehle lädt und Informationen an einen externen Host sendet. Der Angriff erfolgte durch Kompromittierung des Entwicklerkontos von rest-client im Repository rubygems.org, woraufhin die Angreifer am 13. und 14. August die Versionen 1.6.10-1.6.13 veröffentlichten, die bösartige Änderungen enthielten. Vor der Blockierung der schädlichen Versionen wurden sie von etwa tausend Nutzern heruntergeladen (die Angreifer veröffentlichten Updates älterer Versionen, um keine Aufmerksamkeit zu erregen).

Die bösartige Änderung überschreibt die Methode „#authenticate“ in der Klasse
Identity, sodass jeder Aufruf dieser Methode dazu führt, dass die bei der Authentifizierung übermittelte E-Mail-Adresse und das Passwort an die Server der Angreifer gesendet werden. Auf diese Weise werden die Zugangsdaten der Benutzer der Dienste abgefangen, die die Klasse Identity verwenden und eine verwundbare Version der Bibliothek rest-client installiert haben, die als Abhängigkeit in vielen beliebten Ruby-Paketen aufgeführt ist, darunter ast (64 Millionen Downloads), oauth (32 Millionen), fastlane (18 Millionen) und kubeclient (3,7 Millionen).

Darüber hinaus wurde ein Hintertürchen in den Code eingefügt, das die Ausführung beliebigen Ruby-Codes über die Funktion eval ermöglicht. Der Code wird über Cookies übermittelt, die mit dem Schlüssel des Angreifers signiert sind. Um die Angreifer über die Installation des bösartigen Pakets auf einen externen Host zu informieren, wird die URL des Systems des Opfers zusammen mit einer Auswahl an Umgebungsinformationen, wie gespeicherten Passwörtern für Datenbanken und Cloud-Dienste, gesendet. Mit dem oben erwähnten bösartigen Code wurden Versuche zur Bereitstellung von Skripten zum Mining von Kryptowährungen dokumentiert.

Nach der Untersuchung des bösartigen Codes wurde entdeckt, dass ähnliche Änderungen auch in 10 Paketen in Ruby Gems vorhanden sind, die nicht erfasst wurden, sondern absichtlich von Angreifern basierend auf anderen beliebten Bibliotheken mit ähnlichen Namen vorbereitet wurden, bei denen der Bindestrich durch einen Unterstrich ersetzt oder umgekehrt (zum Beispiel basierend auf cron-parser wurde das bösartige Paket cron_parser erstellt, und basierend auf doge_coin das bösartige Paket doge-coin). Problematische Pakete:

Das erste bösartige Paket aus dieser Liste wurde am 12. Mai veröffentlicht, aber der Großteil erschien im Juli. Insgesamt wurden die angegebenen Pakete etwa 2500 Mal heruntergeladen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4