I den populære gem-pakke , der har i alt 113 millioner downloads, blev der indsat skadelig kode (CVE-2019-15224), som downloader eksekverbare kommandoer og sender information til en ekstern vært. Angrebet blev udført gennem af udviklerens konto for rest-client i rubygems.org, hvorefter angriberne i periode 13. og 14. august offentliggjorde versioner 1.6.10-1.6.13, som indeholdt skadelige ændringer. Inden de ondsindede versioner blev blokeret, var de blevet downloadet af omkring tusind brugere (angriberne offentliggjorde opdateringer af gamle versioner for ikke at tiltrække opmærksomhed).
Den skadelige ændring overskriver metoden "#authenticate" i klassen
Identity, som derefter får hver opkald af metoden til at sende den e-mail og adgangskode, der blev givet ved autentificeringsforsøget, til angribernes vært. På denne måde bliver logindata for brugere af tjenester, der bruger klassen Identity og har installeret den sårbare version af biblioteksrest-client, der som afhængighed i mange populære Ruby-pakker, herunder ast (64 mio. downloads), oauth (32 mio.), fastlane (18 mio.) og kubeclient (3,7 mio.).
Desuden er der blevet tilføjet en bagdør i koden, der muliggør udførelse af vilkårlig Ruby-kode gennem funktionen eval. Koden sendes via Cookie, der er signeret med angriberens nøgle. For at informere angriberne om installationen af den skadelige pakke sendes URL'en til offrets system og en samling oplysninger om miljøet, såsom gemte adgangskoder til databaser og cloudtjenester. Der er blevet registreret forsøg på at downloade scripts til minedrift af kryptovaluta ved brug af den førnævnte skadelige kode.
Efter undersøgelsen af den skadelige kode blev det , at lignende ændringer også findes i i Ruby Gems, som ikke blev overtaget, men som blev specielt forberedt af angriberne baseret på andre populære biblioteker med lignende navne, hvor bindestregen blev ændret til en understregning eller omvendt (for eksempel, baseret på blev der oprettet en skadelig pakke cron_parser, og baseret på blev den skadelige pakke doge-coin). Problempakker:
- : 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
Den første skadelige pakke fra denne liste blev offentliggjort den 12. maj, men langt størstedelen dukkede op i juli. Samlet set blev de nævnte pakker downloaded omkring 2500 gange.
Kilde: opennet.ru
