In het populaire gem-pakket , met in totaal 113 miljoen downloads, werd kwaadaardige code (CVE-2019-15224) ingebracht, die uitvoerbare commando's laadt en informatie naar een externe host verzendt. De aanval vond plaats via het ontwikkelaarsaccount van rest-client op de rubygems.org repository, waarna de aanvallers op 13 en 14 augustus versies 1.6.10-1.6.13 publiceerden, waaronder kwaadaardige aanpassingen. Tot de blokkering van de kwaadaardige versies hebben ongeveer duizend gebruikers deze gedownload (de aanvallers hebben updates van oude versies uitgebracht om geen aandacht te trekken).
De kwaadaardige wijziging overschrijft de methode ā#authenticateā in de klasse
Identity, zodat elke aanroep van de methode leidt tot het verzenden van het tijdens de authenticatiepoging opgegeven e-mailadres en wachtwoord naar de host van de aanvallers. Op deze manier worden de inlogparameters van gebruikers van diensten die de Identity-klasse gebruiken en een kwetsbare versie van de rest-client-bibliotheek hebben geĆÆnstalleerd, onderschept. voor in veel populaire Ruby-pakketten, waaronder ast (64 miljoen downloads), oauth (32 miljoen), fastlane (18 miljoen) en kubeclient (3.7 miljoen).
Daarnaast is er een backdoor aan de code toegevoegd, die de uitvoering van willekeurige Ruby-code via de eval-functie mogelijk maakt. De code wordt verzonden via cookies, ondertekend met de sleutel van de aanvallers. Om de aanvallers te informeren over de installatie van het kwaadaardige pakket op de externe host, wordt de URL van het slachtoffer en een verzameling informatie over de omgeving, zoals opgeslagen wachtwoorden voor databases en cloudservices, verzonden. Met behulp van de eerder genoemde kwaadaardige code zijn er pogingen geregistreerd om scripts voor cryptocurrency-mining te uploaden.
Na het bestuderen van de kwaadaardige code bleek , dat soortgelijke wijzigingen ook aanwezig zijn in in Ruby Gems, die niet werden gepakt, maar speciaal door de aanvallers waren voorbereid op basis van andere populaire bibliotheken met vergelijkbare namen, waarin een koppelteken werd vervangen door een onderstreping of vice versa (bijvoorbeeld, op basis van werd het kwaadaardige pakket cron_parser gemaakt, en op basis van werd het kwaadaardige pakket doge-coin gemaakt). Probleemgebieden zijn:
- : 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
Het eerste kwaadaardige pakket uit deze lijst werd op 12 mei geplaatst, maar het grootste gedeelte verscheen in juli. In totaal zijn de genoemde pakketten ongeveer 2500 keer gedownload.
Bron: opennet.ru
