Im beliebten Gem-Paket , das insgesamt 113 Millionen Downloads zählt, 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 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 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 , dass ähnliche Änderungen auch in 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 wurde das bösartige Paket cron_parser erstellt, und basierend auf das bösartige Paket doge-coin). Problematische Pakete:
- : 4.2.2, 4.2.1
- : 0.0.6, 0.0.7
- : 1.18.0
- : 1.0.2
- : 0.5.5
- : 4.3.3
- : 0.0.3
- : 0.2.8
- : 1.0.1
- : 1.0.12, 1.0.13, 0.1.4
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
