В Rust репозиториите crates.io е идентифициран злонамерен пакет rustdecimal

Разработчиците на езика Rust предупредиха за открития в репозиториите crates.io пакет rustdecimal, съдържащ злонамерен код. Пакетът е основан на легитимния пакет rust_decimal и е използвал сходство в името (тайпсквоттинг), разчитайки на това, че потребителите няма да забележат липсата на символа подчертаване по време на търсене или избор на модул от списъка.

Забележително е, че посочената стратегия се оказа успешна и по брой на изтегляния фалшивият пакет малко изостава от оригинала (~111 хиляди изтегляния rustdecimal 1.23.1 и 113 хиляди оригиналният rust_decimal 1.23.1). По-голямата част от изтеглянията обаче са свързани с безобиден клон, който не съдържа злонамерен код. Злонамерените промени бяха добавени на 25 март в версия rustdecimal 1.23.5, която преди да бъде открита проблема и блокирането на пакета, е била изтеглена около 500 пъти (предполага се, че голяма част от изтеглянията на злонамерената версия са осъществени от ботове) и не е била използвана в зависимостите на други пакети в репозиториите (не е изключено, че злонамереният пакет е бил в зависимостите на крайни приложения).

Злонамерените промени се състоят в добавянето на нова функция Decimal::new, в реализацията на която е съществувал обфускиран код за зареждане от външен сървър и изпълняване на изпълним файл. При извикване на функцията се извършва проверка на променливата на средата GITLAB_CI, при задаване на която от външен сървър се зарежда файл /tmp/git-updater.bin. Зарежданият злонамерен обработчик поддържа работа в Linux и macOS (платформата Windows не се поддържа).

Предполага се, че злонамерената функция ще бъде изпълнена по време на тестването в системи за непрекъсната интеграция. След блокирането на rustdecimal администраторите на crates.io извършиха анализ на съдържанието на репозитория за наличие на подобни злонамерени вставки, но не откриха проблеми в други пакети. На притежателите на системи за непрекъсната интеграция, базирани на платформата GitLab, се препоръчва да се уверят, че изследваните от тях сървъри проекти не използват в зависимостите пакет rustdecimal.

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

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