Rünnak NPM-ile, mis võimaldab teil määrata pakettide olemasolu privaatsetes hoidlates

NPM-is on tuvastatud viga, mis võimaldab tuvastada pakettide olemasolu suletud hoidlates. Probleemi põhjustavad erinevad reageerimisajad olemasoleva ja olematu paketi taotlemisel kolmandalt osapoolelt, kellel pole hoidlale juurdepääsu. Kui privaatsetes hoidlates pole juurdepääsu ühelegi paketile, tagastab server registry.npmjs.org veateate koodiga “404”, kuid kui soovitud nimega pakett on olemas, väljastatakse tõrge märgatava viivitusega. Ründaja saab seda funktsiooni kasutada paketi olemasolu kindlakstegemiseks, otsides paketinimesid sõnastike abil.

Paketinimede määramine privaatsetes hoidlates võib olla vajalik sõltuvuse segamise rünnaku läbiviimiseks, mis manipuleerib sõltuvuste nimede ristumiskohaga avalikes ja sisemistes hoidlates. Teades, millised sisemised NPM-paketid ettevõtte hoidlates on, saab ründaja paigutada samade nimede ja uuemate versiooninumbritega pakette avalikku NPM-i hoidlasse. Kui monteerimise ajal ei ole sisemised teegid sätetes otseselt nende hoidlaga seotud, peab paketihaldur npm avalikku hoidlat kõrgemaks prioriteediks ja laadib alla ründaja koostatud paketi.

GitHubi teavitati probleemist märtsis, kuid ta keeldus arhitektuursetele piirangutele viidates rünnaku vastu kaitset lisamast. Privaathoidlaid kasutavatel ettevõtetel soovitatakse perioodiliselt kontrollida avalikus hoidlas kattuvate nimede ilmumist või luua nende nimel tünnid nimedega, mis kordavad privaatsetes hoidlates olevate pakettide nimesid, et ründajad ei saaks paigutada oma pakette kattuvate nimedega.

Allikas: opennet.ru

Lisa kommentaar