U popularnom gem paketu , koji ima ukupno 113 milijuna preuzimanja, ubacivanje zlonamjernog koda (CVE-2019-15224), koji preuzima izvršne naredbe i šalje informacije na vanjski poslužitelj. Napad je izveden kroz developerskog računa rest-client na repozitoriju rubygems.org, nakon čega su napadači 13. i 14. kolovoza objavili verzije 1.6.10-1.6.13, koje sadrže zlonamjerne izmjene. Prije nego što su zlonamjerni trenuci blokirani, preuzelo ih je oko tisuću korisnika (napadači su, kako ne bi privukli pažnju, objavili ažuriranja starih verzija).
Zlonamjerna izmjena prepisuje metodu „#authenticate“ u klasi
Identity, nakon čega svaki poziv metode vodi ka slanju proslijeđenog emaila i lozinke na poslužitelj napadača prilikom pokušaja autentifikacije. Na taj način dolazi do presretanja podataka za prijavu korisnika servisa koji koriste klasu Identity i instalirali su ranjivu verziju biblioteke rest-client, koja kao ovisnost u mnogim popularnim Ruby paketima, uključujući ast (64 milijuna preuzimanja), oauth (32 milijuna), fastlane (18 milijuna) i kubeclient (3,7 milijuna).
Osim toga, u kod je dodan backdoor koji omogućava izvršenje proizvoljnog Ruby koda putem funkcije eval. Kod se prenosi kroz kolačić, potpisan ključem napadača. Da bi obavijestili napadače o instalaciji zlonamjernog paketa na vanjski poslužitelj, šalje se URL sustava žrtve i niz informacija o okruženju, poput spremljenih lozinki za baze podataka i cloud usluge. Korištenjem navedenog zlonamjernog koda zabilježeni su pokušaji preuzimanja skripti za rudarenje kriptovaluta.
Nakon proučavanja zlonamjernog koda utvrđeno je , da slične izmjene postoje još u u Ruby Gems, koji nisu bili zaraženi, već su ih zlonamjernici posebno pripremili na temelju drugih popularnih biblioteka sličnih imena, gdje je crtica zamijenjena donjom crtom ili obrnuto (na primjer, na osnovu stvoren je zlonamjerni paket cron_parser, a na temelju zlonamjerni paket doge-coin). Problematični paketi:
- : 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
Prvi zlonamjerni paket s ovog popisa je objavljen 12. svibnja, ali je veći dio pojavio u srpnju. Ukupno su navedeni paketi preuzeti oko 2500 puta.
Izvor: opennet.ru
