Напад на NPM кој ви овозможува да одредите присуство на пакети во приватни складишта

Идентификуван е пропуст во NPM што ви овозможува да откриете постоење на пакети во затворени складишта. Проблемот е предизвикан од различни времиња на одговор кога се бара постоечки и непостоечки пакет од трето лице кое нема пристап до складиштето. Ако нема пристап за ниту еден пакет во приватните складишта, серверот registry.npmjs.org враќа грешка со кодот „404“, но ако постои пакет со бараното име, грешката се издава со забележливо задоцнување. Напаѓачот може да ја користи оваа функција за да го одреди присуството на пакет со пребарување на имиња на пакети користејќи речници.

Одредувањето на имињата на пакетите во приватните складишта може да биде неопходно за да се изврши напад за мешање зависност што манипулира со пресекот на имињата на зависности во јавните и внатрешните складишта. Знаејќи кои внатрешни NPM пакети се присутни во корпоративните складишта, напаѓачот може да постави пакети со исти имиња и понови броеви на верзии во јавното складиште на NPM. Ако за време на склопувањето внатрешните библиотеки не се експлицитно поврзани со нивното складиште во поставките, менаџерот на пакети npm ќе го смета јавното складиште за повисок приоритет и ќе го преземе пакетот подготвен од напаѓачот.

GitHub беше известен за проблемот во март, но одби да додаде заштита од напад, наведувајќи ги архитектонските ограничувања. На компаниите што користат приватни складишта им се препорачува периодично да проверуваат дали се појавуваат имиња што се преклопуваат во јавното складиште или да создаваат никулци во нивно име со имиња што ги повторуваат имињата на пакетите во приватните складишта, така што напаѓачите не можат да ги стават своите пакети со преклопувачки имиња.

Извор: opennet.ru

Купете доверлив хостинг за сајтови со DDoS заштита, VPS VDS сервери 🔥 Купете сигурен веб-хостинг со DDoS заштита, VPS VDS сервери | ProHoster