Népszerű drágakő csomagban , összesen 113 millió letöltéssel, Kártékony kód (CVE-2019-15224) helyettesítése, amely letölti a végrehajtható parancsokat és információkat küld egy külső gazdagépnek. A támadást keresztül hajtották végre fejlesztői fiók rest-client a rubygems.org tárhelyen, ezt követően a támadók augusztus 13-án és 14-én közzétették az 1.6.10-1.6.13 kiadásokat, amelyek rosszindulatú változtatásokat is tartalmaztak. A rosszindulatú verziók blokkolása előtt körülbelül ezer felhasználónak sikerült letöltenie őket (a támadók frissítéseket adtak ki a régebbi verziókhoz, hogy ne vonják magukra a figyelmet).
A rosszindulatú módosítás felülírja az osztály "#authenticate" metódusát
Identity, amely után minden metódushívás azt eredményezi, hogy a hitelesítési kísérlet során küldött e-mailt és jelszót elküldik a támadók gazdagépének. Így az Identity osztályt használó és a rest-client könyvtár sérülékeny verzióját telepítő szolgáltatást használók bejelentkezési paraméterei elfogódnak, ami sok népszerű Ruby-csomag függőségeként, köztük az ast (64 millió letöltés), az oauth (32 millió), a fastlane (18 millió) és a kubeclient (3.7 millió).
Ezenkívül egy hátsó ajtó is hozzáadásra került a kódhoz, amely lehetővé teszi tetszőleges Ruby kód végrehajtását az eval függvényen keresztül. A kód továbbítása a támadó kulcsával hitelesített cookie-n keresztül történik. A támadók tájékoztatása érdekében egy rosszindulatú csomag külső gazdagépen történő telepítéséről a rendszer elküldi az áldozat rendszerének URL-címét, valamint a környezetre vonatkozó információkat, például a DBMS-hez és a felhőszolgáltatásokhoz mentett jelszavakat. A kriptovaluta bányászatához szükséges szkriptek letöltésére tett kísérleteket a fent említett rosszindulatú kód használatával rögzítették.
A rosszindulatú kód tanulmányozása után az volt hogy hasonló változások vannak jelen a Ruby Gemsben, amelyeket nem fogtak el, hanem speciálisan a támadók készítettek elő más, hasonló nevű népszerű könyvtárak alapján, amelyekben a kötőjelet aláhúzásjellel helyettesítették, vagy fordítva (pl. egy rosszindulatú cron_parser csomag jött létre, és ez alapján doge-coin rosszindulatú csomag). Problémacsomagok:
- : 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
Az első rosszindulatú csomag erről a listáról május 12-én jelent meg, de a legtöbbjük júliusban jelent meg. Ezeket a csomagokat összesen körülbelül 2500 alkalommal töltötték le.
Forrás: opennet.ru
