Атака на NPM, позволяющая определить наличие пакетов в приватных репозиториях

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3214
Зарегистрирован: 20.08.2022

#

Атака на NPM, позволяющая определить наличие пакетов в приватных репозиториях
Дата публикации:Fri, 14 Oct 2022 12:10:40 +0300


В NPM выявлена недоработка, позволяющая определить существование пакетов в закрытых репозиториях. Проблема вызвана разным временем реакции при запросе существующего и несуществующего пакета сторонним пользователем, не имеющего доступа к репозиторию. При отсутствии доступа для любых пакетов в приватных репозиториях сервер registry.npmjs.org возвращает ошибку с кодом "404", но в случае существования пакета с запрошенным именем ошибка выдаётся с ощутимой задержкой. Атакующий может использовать данную особенность для определения наличия пакета при подборе имён пакетов по словарям.


Определение имён пакетов в закрытых репозиториях может потребоваться для совершения атаки через смешивание зависимостей, манипулирующей пересечением имён зависимостей в публичных и внутренних репозиториях. Зная, какие внутренние NPM-пакеты присутствуют в корпоративных репозиториях, атакующий может разместить пакеты с теми же именами и более новыми номерами версий в публичном репозитории NPM. Если при сборке внутренние библиотеки явно не привязаны в настройках к своему репозиторию, пакетный менеджер npm посчитает более приоритетным публичный репозиторий и загрузит подготовленный атакующим пакет.

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


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=57918

Жизнь за Нер'зула!

Ответить