Перейти к публикации

INFO

в ruby-библиотеке bootstrap-sass выявлен бэкдор

Рекомендованные сообщения

В популярной Ruby-библиотеке bootstrap-sass (вариант Bootstrap 3 с поддержкой Sass), насчитывающей около 28 млн загрузок, выявлен бэкдор (CVE-2019-10842), позволяющий злоумышленникам выполнить свой код на серверах, на которых выполняются проекты, использующие bootstrap-sass. Бэкдор был добавлен в состав выпуска 3.2.0.3, опубликованного 26 марта в репозитории RubyGems. Проблема устранена в выпуске 3.2.0.4, предложенном 3 апреля.

Бэкдор был скрыто добавлен в файл lib/active-controller/middleware.rb, в котором появился код для вызова eval со значением, передаваемым через Cookie "___cfduid=". Для атаки достаточно было отправить запрос на сервер, выставив Cookie "___cfduid" и передав в качестве аргумента команды, закодированные в формате Base64. Имя Cookie "___cfduid" было выбрано для камуфлирования под Cookie "__cfduid", выставляемый CDN Cloudflare и отличающийся наличием двух символов подчёркивания вместо трёх.

Примечательно, что вредоносный код был опубликован только в финальном пакете, опубликованном в репозитории RubyGems, но не был внесён в исходные тексты в Git-репозитории. Исходный код библиотеки оставался корректным и не вызывал подозрения у разработчиков, что подчёркивает важность применения повторяемых сборок и внедрения процесса проверки соответствия публикуемых пакетов с эталонными исходными текстами. Судя по всему, атака была проведена через захват параметров учётной записи к RubyGems у одного из двух мэйнтейнеров библиотеки (официально утечка учётных данных пока не подтверждена).

Атаковавшие проявили осмотрительность и встроили бэкдор не в самую свежую ветку 3.4.x, последний выпуск которой насчитывает более 217 тысяч загрузок, а как обновление для прошлой ветки 3.2.x, рассчитывая на то, что корректирующее обновление зависимости не вызовет подозрений. По приблизительной оценке 1670 репозиториев на GitHub используют bootstrap-sass в качестве зависимости и связанные с этими репозиториями приложения потенциально могут быть скомпрометированы. Разработчикам рекомендуется проследить использование библиотеки bootstrap-sass среди косвенных зависимостей и проверить не было ли выполнено автоматическое обновление до версии с бэкдором. Судя по статистике RubyGems пакет с бэкдором был загружен около 1500 раз.

Информация о возможном бэкдоре была опубликована в системе отслеживания ошибок спустя несколько часов после размещения проблемного выпуска 3.2.0.3, после чего примерно через час мэйнтейнеры удалили проблемный выпуск из RubyGems и поменяли пароли для входа, но не учли, что удалённые версии ещё несколько дней могут оставаться доступными на зеркалах. 3 апреля был дополнительно сформирован выпуск 3.2.0.4, полностью аналогичный версии 3.2.0.2, который позволял избавиться от версии с бэкдором без перехода на новую ветку 3.4.

• Source: https://snyk.io/blog/malicious-remote-code-execution-backdoor-discovered-in-the-popular-bootstrap-sass-ruby-gem/

• Source: https://github.com/twbs/bootstrap-sass/issues/1195

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...