Útok na NPM umožňujúci určiť prítomnosť balíkov v privátnych repozitároch.

V NPM bola zistená nedokonalosť, ktorá umožňuje určovať existenciu balíčkov v uzavretých repozitároch. Problém je spôsobený rôznymi časmi reakcie pri žiadosti o existujúci a neexistujúci balíček zo strany externého používateľa, ktorý nemá prístup k repozitáru. Pri absencii prístupu k akýmkoľvek balíčkom v súkromných repozitároch server registry.npmjs.org vracia chybu s kódom „404“, ale v prípade existencie balíčka s požadovaným menom sa chyba hlási s výrazným oneskorením. Útočník môže využiť túto vlastnosť na zistenie prítomnosti balíčka pri výbere mien balíčkov z ich slovníka.

Určenie mien balíčkov v uzavretých repozitároch môže byť potrebné na vykonanie útoku prostredníctvom miešania závislostí, manipulujúceho s prienikom mien závislostí v verejných a interných repozitároch. Ak útočník vie, aké interné NPM balíčky sú prítomné v firemných repozitároch, môže umiestniť balíčky s rovnakými menami a novšími číslami verzií do verejného repozitára NPM. Ak nie sú interné knižnice pri zostavovaní jasne viazané vo svojich nastaveniach na svoj repozitár, balíčkový manažér npm považuje verejný repozitár za prioritnejší a načíta balíček pripravený útočníkom.

GitHub bol informovaný o probléme v marci, ale odmietol pridať ochranu proti útoku, odvolávajúc sa na architektonické obmedzenia. Firmám, ktoré používajú súkromné repozitáre, sa odporúča pravidelne kontrolovať výskyt prenikajúcich mien vo verejnom repozitári alebo vytvoriť vo svojom mene záplaty s názvami, ktoré opakujú názvy balíčkov v súkromných repozitároch, aby útočníci nemohli umiestniť svoje balíčky s podobnými názvami.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster