В rest-client и още 10 Ruby пакета е открит злонамерен код

В популярния gem пакет rest-client, с общо 113 милиона сваляния, е открита въвеждане на злонамерен код (CVE-2019-15224), който зарежда изпълнявани команди и изпраща информация на външен хост. Атаката беше извършена чрез компрометиране на акаунта на разработчика rest-client в репозитория rubygems.org, след което злонамерените лица публикуваха версии 1.6.10-1.6.13 на 13 и 14 август, включващи злонамерени изменения. Преди блокирането на злонамерените версии, около хиляда потребители успяха да ги изтеглят (атакуващите, за да не привлекат внимание, публикуваха актуализации на стари версии).

Злонамереното изменение пренаписва метода „#authenticate“ в класа
Identity, след което всяко извикване на метода води до изпращане на предоставения по време на опита за аутентификация имейл и парола на хост на нападачите. Така се осъществява прихващането на входните параметри на потребителите на услуги, използващи класа Identity и инсталирали уязвима версия на библиотеката rest-client, която възниква като зависимост в много популярни Ruby пакети, включително ast (64 милиона сваляния), oauth (32 милиона), fastlane (18 милиона) и kubeclient (3.7 милиона).

Освен това в кода е добавен бекдор, позволяващ изпълнението на произволен Ruby код чрез функцията eval. Кодът се предава чрез Cookie, заверена с ключа на атакуващия. За да информира злонамерените лица за инсталацията на злонамерения пакет на външен хост, се изпраща URL адресът на системата на жертвата и набор от информация за средата, като запазени пароли за СУБД и облачни услуги. С използването на гореспоменатия злонамерен код са отчетени опити за сваляне на скриптове за копаене на криптовалути.

След проучването на злонамерения код беше выявлено, че подобни изменения присъстват и в 10 пакета в Ruby Gems, които не бяха захванати, а специално подготвени от злонамерени лица на базата на други популярни библиотеки с подобни имена, в които тирето е заменено с подчертание или обратното (например, на базата на cron-parser беше създаден злонамерен пакет cron_parser, а на базата на doge_coin злонамерен пакет doge-coin). Проблемни пакети:

Първият злонамерен пакет от този списък беше публикуван на 12 май, но по-голямата част се появи през юли. В обобщение, посочените пакети успяха да бъдат изтеглени около 2500 пъти.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster