Уязвимость в NPM, приводящая к перезаписи файлов в системе
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Компания GitHub раскрыла подробности о семи уязвимостях в пакетах tar и @npmcli/arborist, предоставляющих функции для работы с tar-архивами и расчета дерева зависимостей в Node.js. Уязвимости позволяют при распаковке специально оформленного архива перезаписать файлы за пределами корневого каталога, в который осуществляется распаковка, насколько это позволяют текущие права доступа. Проблемы дают возможность организовать выполнение произвольного кода в системе, например, через добавление команд в ~/.bashrc или ~/.profile при выполнении операции непривилегированным пользователем или через замену системных файлов при запуске с правами root.
Опасность уязвимостей усугубляется тем, что проблемный код используется в пакетном менеджере npm при операциях с npm-пакетами, что позволяет организовать атаку на пользователей, разместив в репозитории специально оформленный npm-пакет, при обработке которого в системе будет выполнен код злоумышленника. Атака возможна даже при установке пакетов в режиме "--ignore-scripts", отключающем выполнение встроенных скриптов. Всего npm затрагивает четыре уязвимости (CVE-2021-32804, CVE-2021-37713, CVE-2021-39134 и CVE-2021-39135) из семи. Первые две проблемы касаются пакета tar, а остальные две пакета @npmcli/arborist.
Наиболее опасная уязвимость CVE-2021-32804 вызвана тем, что при очистке указанных в архиве tar абсолютных путей некорректно обрабатываются повторяющиеся символы "/" - удаляется только первый символ, а остальные оставляются. Например, путь "/home/user/.bashrc" будет преобразован в "home/user/.bashrc", а путь "//home/user/.bashrc" в "/home/user/.bashrc".
Вторая уязвимость CVE-2021-37713 проявляется только на платформе Windows и связана с некорректной очисткой относительных путей, включающих неразделённый символ диска ("C:some\path") и последовательность для возврата в предыдущий каталог ("C:../foo").
Уязвимости CVE-2021-39134 и CVE-2021-39135 специфичны для модуля @npmcli/arborist. Первая проблема проявляется только на системах, не различающих регистр символов в ФС (macOS и Windows), и позволяет записать файлы в произвольную часть ФС, указав в числе зависимостей два модуля '"foo": "file:/some/path"' и 'FOO: "file:foo.tgz"', обработка которых приведёт удалению содержимого каталога /some/path и записи в него содержимого foo.tgz. Вторая проблема позволяет перезаписать файлы через манипуляцию с символическими ссылками.
Уязвимости устранены в выпусках Node.js 12.22.6 и 14.17.6, npm CLI 6.14.15 и 7.21.0, а также в отдельных выпусках пакета tar 4.4.19, 5.0.11 и 6.1.10. Получив информацию о проблеме в рамках инициативы "bug bounty", GitHub выплатил исследователям $14500 и просканировал содержимое репозитория, в котором не было выявилено попыток эксплуатации уязвимостей. Для защиты от указанных проблем GitHub также ввёл запрет на публикацию в репозитории NPM-пакетов, включающих символические ссылки, жесткие ссылки и абсолютные пути.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://github.blog/2021-09-08...)
- OpenNews: Уязвимость в пакетном менеджере Composer, допускающая компрометацию PHP-репозитория Packagist
- OpenNews: Уязвимость в NPM, позволяющая изменить произвольные файлы при установке пакета
- OpenNews: Уязвимость в пакетном менеджере GNU Guix
- OpenNews: Уязвимость в пакетном менеджере pacman, позволяющая выполнить код в ходе MITM-атаки
- OpenNews: Уязвимость в Apache CouchDB, позволяющая совершить атаку на реестр пакетов NPM
Похожие новости:
- Выпуск СУБД Tarantool 2.8
- Уязвимость в NPM-пакете pac-resolver, насчитывающем 3 млн загрузок в неделю
- Репозиторий NPM прекращает поддержку TLS 1.0 и 1.1
- [Сетевые технологии, Беспроводные технологии, Разработка систем связи, Научно-популярное, Будущее здесь] Всё о проекте «Спутниковый интернет Starlink». Часть 33. Прошивка Терминала
- [Разработка систем связи, Программирование микроконтроллеров, Сетевое оборудование, Будущее здесь] Прошивку терминала Starlink скачали и проанализировали
- [Беспроводные технологии, Научно-популярное, DIY или Сделай сам, Будущее здесь] В Калифорнии водителя оштрафовали за установку тарелки SpaceX Starlink на автомобиль
- [Венчурные инвестиции, Развитие стартапа] Y Combinator: редактирование мировоззрения основателей стартапов (перевод)
- [Сетевые технологии, Беспроводные технологии, IT-компании] Маск заявил, что глобальная сеть Starlink будет готова уже к августу
- [Сетевые технологии, Беспроводные технологии, Разработка систем связи, Научно-популярное, Космонавтика] Всё о проекте «Спутниковый интернет Starlink». Часть 32. Проблемы терминалов StarLink из-за перегрева
- [Управление персоналом, Карьера в IT-индустрии] Kickstater попробует ввести четырехдневную рабочую неделю в 2022 году
Теги для поиска: #_npm, #_tar, #_nodejujs (nodeюjs)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 08:42
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Компания GitHub раскрыла подробности о семи уязвимостях в пакетах tar и @npmcli/arborist, предоставляющих функции для работы с tar-архивами и расчета дерева зависимостей в Node.js. Уязвимости позволяют при распаковке специально оформленного архива перезаписать файлы за пределами корневого каталога, в который осуществляется распаковка, насколько это позволяют текущие права доступа. Проблемы дают возможность организовать выполнение произвольного кода в системе, например, через добавление команд в ~/.bashrc или ~/.profile при выполнении операции непривилегированным пользователем или через замену системных файлов при запуске с правами root. Опасность уязвимостей усугубляется тем, что проблемный код используется в пакетном менеджере npm при операциях с npm-пакетами, что позволяет организовать атаку на пользователей, разместив в репозитории специально оформленный npm-пакет, при обработке которого в системе будет выполнен код злоумышленника. Атака возможна даже при установке пакетов в режиме "--ignore-scripts", отключающем выполнение встроенных скриптов. Всего npm затрагивает четыре уязвимости (CVE-2021-32804, CVE-2021-37713, CVE-2021-39134 и CVE-2021-39135) из семи. Первые две проблемы касаются пакета tar, а остальные две пакета @npmcli/arborist. Наиболее опасная уязвимость CVE-2021-32804 вызвана тем, что при очистке указанных в архиве tar абсолютных путей некорректно обрабатываются повторяющиеся символы "/" - удаляется только первый символ, а остальные оставляются. Например, путь "/home/user/.bashrc" будет преобразован в "home/user/.bashrc", а путь "//home/user/.bashrc" в "/home/user/.bashrc". Вторая уязвимость CVE-2021-37713 проявляется только на платформе Windows и связана с некорректной очисткой относительных путей, включающих неразделённый символ диска ("C:some\path") и последовательность для возврата в предыдущий каталог ("C:../foo"). Уязвимости CVE-2021-39134 и CVE-2021-39135 специфичны для модуля @npmcli/arborist. Первая проблема проявляется только на системах, не различающих регистр символов в ФС (macOS и Windows), и позволяет записать файлы в произвольную часть ФС, указав в числе зависимостей два модуля '"foo": "file:/some/path"' и 'FOO: "file:foo.tgz"', обработка которых приведёт удалению содержимого каталога /some/path и записи в него содержимого foo.tgz. Вторая проблема позволяет перезаписать файлы через манипуляцию с символическими ссылками. Уязвимости устранены в выпусках Node.js 12.22.6 и 14.17.6, npm CLI 6.14.15 и 7.21.0, а также в отдельных выпусках пакета tar 4.4.19, 5.0.11 и 6.1.10. Получив информацию о проблеме в рамках инициативы "bug bounty", GitHub выплатил исследователям $14500 и просканировал содержимое репозитория, в котором не было выявилено попыток эксплуатации уязвимостей. Для защиты от указанных проблем GitHub также ввёл запрет на публикацию в репозитории NPM-пакетов, включающих символические ссылки, жесткие ссылки и абсолютные пути. =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 08:42
Часовой пояс: UTC + 5