Një sulm ndaj NPM që ju lejon të përcaktoni praninë e paketave në depo private

Është identifikuar një defekt në NPM që ju lejon të zbuloni ekzistencën e paketave në depo të mbyllura. Problemi shkaktohet nga kohë të ndryshme përgjigjeje kur kërkon një paketë ekzistuese dhe jo-ekzistuese nga një palë e tretë që nuk ka akses në depo. Nëse nuk ka akses për asnjë paketë në depo private, serveri registry.npmjs.org kthen një gabim me kodin "404", por nëse ekziston një paketë me emrin e kërkuar, gabimi lëshohet me një vonesë të dukshme. Një sulmues mund ta përdorë këtë veçori për të përcaktuar praninë e një pakete duke kërkuar emrat e paketave duke përdorur fjalorë.

Përcaktimi i emrave të paketave në depo private mund të jetë i nevojshëm për të kryer një sulm të përzierjes së varësisë që manipulon kryqëzimin e emrave të varësisë në depo publike dhe të brendshme. Duke ditur se cilat paketa të brendshme NPM janë të pranishme në depot e korporatave, një sulmues mund të vendosë paketa me të njëjtat emra dhe numra versionesh më të rinj në depon publike të NPM. Nëse gjatë montimit, bibliotekat e brendshme nuk janë të lidhura në mënyrë eksplicite me depon e tyre në cilësimet, menaxheri i paketave npm do ta konsiderojë depon publike si një prioritet më të lartë dhe do të shkarkojë paketën e përgatitur nga sulmuesi.

GitHub u njoftua për problemin në mars, por nuk pranoi të shtonte mbrojtje kundër sulmit, duke përmendur kufizimet arkitekturore. Kompanive që përdorin depo private rekomandohen që të kontrollojnë periodikisht shfaqjen e emrave të mbivendosur në depon publike ose të krijojnë cungë në emër të tyre me emra që përsërisin emrat e paketave në depo private, në mënyrë që sulmuesit të mos mund t'i vendosin paketat e tyre me emra të mbivendosur.

Burimi: opennet.ru

Shto një koment