V populárním gem balíčku , který má celkem 113 milionů stažení, byla vložena škodlivá kód (CVE-2019-15224), která načítá spouštěcí příkazy a odesílá informace na externí server. Útok byl proveden prostřednictvím účtu vývojáře rest-client v repozitáři rubygems.org, po kterém útočníci 13. a 14. srpna zveřejnili verze 1.6.10-1.6.13, které obsahovaly škodlivé změny. Před zablokováním nebezpečných verzí je stačilo stáhnout asi tisíc uživatelů (útočníci, aby neupoutali pozornost, vydali aktualizace starých verzí).
Škodlivá změna přepisuje metodu "#authenticate" ve třídě
Identity, po čemž každý výstup této metody vede k odeslání poskytnutého emailu a hesla útočníkům. Tímto způsobem se provádí zachycení přihlašovacích údajů uživatelů služeb, které používají třídu Identity a měly zranitelnou verzi knihovny rest-client, která jako závislost v mnoha populárních Ruby balíčcích, včetně ast (64 milionů stažení), oauth (32 milionů), fastlane (18 milionů) a kubeclient (3,7 milionu).
Kromě toho byl do kódu přidán zadní vchod, který umožňuje vykonání libovolného Ruby kódu prostřednictvím funkce eval. Kód je předáván prostřednictvím cookie podepsaných klíčem útočníka. Pro informování útočníků o instalaci škodlivého balíčku na externím serveru je odesílán URL cílového systému a sbírka informací o prostředí, jako jsou uložená hesla k databázím a cloudovým službám. S použitím výše zmíněného škodlivého kódu byly zaznamenány pokusy o stahování skriptů pro těžbu kryptoměn.
Po prostudování škodlivého kódu bylo , že podobné změny jsou přítomny ještě v v Ruby Gems, které nebyly zachyceny, ale byly speciálně připraveny útočníky na základě dalších populárních knihoven se podobnými názvy, kde byl pomlčka nahrazena podtržítkem nebo naopak (například na základě byl vytvořen škodlivý balíček cron_parser, a na základě škodlivý balíček doge-coin). Problematické balíčky:
- : 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
První škodlivý balíček z tohoto seznamu byl umístěn 12. května, ale většina se objevila v červenci. Celkem uvedené balíčky byly staženy asi 2500krát.
Zdroj: opennet.ru
