Хакер #305. Многошаговые SQL-инъекции
Сразу три популярных в npm пакета (@rspack/core, @rspack/cli и Vant) были взломаны и заменены вредоносными версиями, содержащими криптовалютные майнеры. Дело в том, что у разработчиков украли токены от учетных записей npm.
Эту атаку на цепочку поставок обнаружили исследователи компаний Sonatype и Socket. Вредоносные пакеты устанавливали майнер XMRig на машины жертв и добывали криптовалюту Monero. Аналитики Sonatype подчеркивают, что все три пакета npm стали жертвами компрометации в один и тот же день, то есть речь явно идет о скоординированной атаке.
Rspack представляет собой высокопроизводительный JavaScript-бандлер, написанный на Rust и используемый для сборки и упаковки JavaScript-проектов. Два взломанных пакета — это основной компонент Rspack и CLI-инструмент, которые еженедельно скачивают с npm 394 000 и 145 000 раз.
В свою очередь Vant — это легкая, кастомизируемая UI-библиотека Vue.js, предназначенная для создания мобильных веб-приложений и предоставляющая готовые UI-компоненты. Vant насчитывает 46 000 еженедельных загрузок на npm.
Майнер был добавлен в Rspack весрии 1.1.7. Теперь пользователям рекомендуется обновиться до версии 1.1.8 или более поздней. Также малвари нет в версии, предшествующей вредоносной (1.1.6), но в новом релизе были реализованы дополнительные защитные меры.
Что касается Vant, то пользователям следует избегать сразу ряда скомпрометированных версий: 2.13.3, 2.13.4, 2.13.5, 3.6.13, 3.6.14, 3.6.15, 4.9.11, 4.9.12, 4.9.13 и 4.9.14. В этом случае рекомендуется обновиться до Vant 4.9.15 или новее.
Исследователи пишут, что вредоносный код, отвечавший за получение настроек и инструкций с управляющего сервера злоумышленников, был скрыт в файле support.js в случае @rspack/core и в файле config.js для @rspack/cli.
После запуска вредонос собирал информацию о географическом положении и сетевых данных системы жертвы. Исследователи пишут, что сбор такой информации часто используется для адаптации атак на основании геолокации пользователя или его сетевого профиля.
Бинарник XMRig загружался из репозитория на GitHub, и в случае Vant он еще и переименовывался в /tmp/vant_helper, чтобы скрыть его предназначение.
Разработчики Rspack и Vant уже подтвердили, что их аккаунты npm были взломаны, и опубликовали «чистые» версии пакетов. Также разработчики извинились перед сообществом за то, что не сумели обеспечить безопасность цепочки поставок.
«19.12.2024 в 02:01 мы обнаружили, что наши npm-пакеты @rspack/core и @rspack/cli подверглись атаке. Злоумышленник выпустил версию 1.1.7, которая содержала вредоносный код, используя скомпрометированный токен npm. Обнаружив проблему, мы немедленно приняли меры», — пишут разработчики Rspack.
«Новый релиз исправляет проблему безопасности. Мы обнаружили, что токен npm одного из членов нашей команды был украден и использовался для выпуска нескольких вредоносных версий. Мы приняли меры по устранению этой проблемы и перевыпустили последнюю версию», — сообщили авторы Vant.