GitHub обнаружил 7 уязвимостей выполнения кода в командной строке tar и npm

27
GitHub обнаружил 7 уязвимостей выполнения кода в командной строке tar и npm

Группа безопасности GitHub выявила несколько уязвимостей высокой степени опасности в пакетах npm, tar и @ npmcli / arborist, используемых npm CLI.

Пакет tar  получает в среднем 20 миллионов загрузок в неделю, в то время как  arborist  загружается более 300 000 раз в неделю.

Уязвимости затрагивают пользователей как Windows, так и Unix, и, если их не исправить, злоумышленники могут использовать их для выполнения произвольного кода в системе, устанавливающей ненадежные пакеты npm.

Охотники за головами наградили 14 500 долларов за почтовые бланки

В период с июля по август этого года исследователи безопасности и охотники за багами  Роберт Чен и Филип Папурт  выявили уязвимости выполнения произвольного кода в пакетах Node.js с открытым исходным кодом, tar  и @ npmcli / arborist .

Об обнаружении этих уязвимостей исследователи в частном порядке уведомили npm через одну из программ bug bounty на GitHub.

При дальнейшем рассмотрении отчетов исследователей группа безопасности GitHub обнаружила еще несколько уязвимостей высокой степени серьезности в вышеупомянутых пакетах, затрагивающих как Windows, так и системы на базе Unix.

Пакет Node.js  tar  остается основной зависимостью для установщиков, которым необходимо распаковывать пакеты npm после установки. Пакет также используется тысячами других проектов с открытым исходным кодом, и поэтому еженедельно получает около 20 миллионов загрузок. Пакет  arborist  – это основная зависимость, на которую опирается npm CLI, и она используется для управления   деревьями node_modules .

Эти  уязвимости ZIP-файлов создают проблему для разработчиков, устанавливающих ненадежные пакеты npm с помощью интерфейса командной строки npm или с использованием tar для извлечения ненадежных пакетов.

По умолчанию пакеты npm поставляются как. tar.gz  или. tgz,  которые представляют собой ZIP-архивы и поэтому должны быть извлечены с помощью инструментов установки.

Инструменты, извлекающие эти архивы, в идеале должны гарантировать, что любые вредоносные пути в архиве не приведут к перезаписи существующих файлов, особенно конфиденциальных, в файловой системе.

Но из-за уязвимостей, перечисленных ниже, пакет npm при извлечении мог перезаписывать произвольные файлы с привилегиями пользователя, запустившего команду  npm install :

  1. CVE-2021-32803
  2. CVE-2021-32804
  3. CVE-2021-37701
  4. CVE-2021-37712
  5. CVE-2021-37713
  6. CVE-2021-39134
  7. CVE-2021-39135

«CVE-2021-32804, CVE-2021-37713, CVE-2021-39134 и CVE-2021-39135 специально влияют на безопасность интерфейса командной строки npm при обработке установки вредоносного или ненадежного пакета npm», – объясняет Майк Хэнли , руководитель Сотрудник службы безопасности GitHub.

«Некоторые из этих проблем могут привести к выполнению произвольного кода, даже если вы используете –ignore-scripts для предотвращения обработки сценариев жизненного цикла пакета».

Команда GitHub Security поблагодарила Чена и Папурта за их ответственное раскрытие информации и наградила их общим вознаграждением в размере 14 500 долларов за их усилия по обеспечению безопасности GitHub.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here