Tri ranjivosti pronađene su u NPM-u, koje su ispravljene u NPM 6.13.4

Programeri koji su zaduženi za projekat NPM paket menadžera, saopšteno je nedavno pušten korektivno ažuriranje NPM-a 6.13.4 uključeno u isporuku Node.js i koristi se za distribuciju JavaScript modula.

Ova nova korektivna verzija menadžera je bila pokrenut sa ciljem rješavanja tri ranjivosti koji dozvoljavaju da se proizvoljni sistemski fajlovi modifikuju ili prepisuju instaliranjem paketa koji je pripremio napadač.

CVE-2019-16775

Ova ranjivost utječe na NPM CLI verzije prije 6.13.3, pa jesi su ranjivi na proizvoljno upisivanje u fajl. Paketi mogu kreirati simboličke veze do datoteka izvan foldera node_modules kroz polje za smeće nakon instalacije.

Pravilno napravljen unos u polju package.json bin bi omogućilo uređivaču paketa da kreira simboličku vezu koja ukazuje na proizvoljne datoteke na korisnikovom sistemu kada je paket instaliran. Ovo ponašanje je još uvijek moguće putem instalacionih skripti.

CVE-2019-16776

U ovoj ranjivosti NPM CLI verzije prije 6.13.3 su pod utjecajem proizvoljnog pisanja datoteke. Budući da ne možete spriječiti pristup folderima izvan predviđenog foldera node_modules preko polja bin.

Pravilno napravljen unos u polju package.json bin bi omogućio uređivaču paketa da modifikuje i pristupi proizvoljnim datotekama na korisnikovom sistemu kada je paket instaliran. Ovo ponašanje je još uvijek moguće putem instalacionih skripti.

Rute sa "/../" su dozvoljene u polju za smeće

CVE-2019-16777

Na kraju, U ovoj ranjivosti, NPM CLI verzije prije 6.13.4 su ranjive na prepisivanje proizvoljnih datoteka. Budući da ne može spriječiti druge binarne datoteke da prepisuju postojeće globalno instalirane binarne datoteke.

Na primjer, ako je paket instaliran globalno i kreiran binarni servis, svaka naknadna instalacija paketa koji također kreiraju binarnu uslugu će prepisati prethodnu binarnu uslugu. Ovo ponašanje je i dalje dozvoljeno na lokalnim instalacijama, kao i putem instalacionih skripti.

Možete zamijeniti datoteke samo u ciljnom direktoriju gdje su instalirane izvršne datoteke (obično /usr, /local, /bin).

Iako je važan faktor za ove ranjivosti to što bi osoba koja želi da iskoristi ove nedostatke morala da natera svoju žrtvu da instalira paket sa posebno napravljenim unosom za smeće. Međutim, kao što smo vidjeli u prošlosti, to nije nepremostiva barijera.

Sigurnosni tim npm, Inc. je skenirao registar u potrazi za primjerima ovog napada i nije pronašao nijedan objavljen paket u registru sa ovim eksploatacijom. To ne garantuje da nije korišteno, ali znači da se trenutno ne koristi u paketima objavljenim u registru.

Nastavit ćemo pratiti i poduzeti mjere kako bismo spriječili loše aktere da iskoriste ovu ranjivost u budućnosti. Međutim, ne možemo skenirati sve moguće izvore npm paketa (privatne registre, ogledala, git repozitorije, itd.), pa je važno ažurirati što je prije moguće.

Rješavanje problema

Kao glavno rješenje, preporučuje se da ažurirate na novu korektivnu verziju jer su biblioteke za raščlanjivanje package.json koje se koriste u NPM v6.13.3 ažurirane na način koji će sanirati i potvrditi sve unose u polju za smeće kako bi se uklonile kose crte inicijale, unose putanje i druga sredstva za izbjegavanje putanje, koristeći dobro testiran i vrlo pouzdan uslužni program puta ugrađen u Node.js.

Iako, Kao zaobilazno rješenje, može se instalirati s opcijom –ignor-skripte, koji zabranjuje izvršavanje ugrađenih paketa drajvera.

Bez daljeg odlaganja, ako želite saznati više o greškama, možete provjeriti detalje u npm blog postu Na sledećem linku.

Konačno, za one koji žele da instaliraju novu verziju, to mogu učiniti sa službenih kanala ili odabirom kompajliranja iz izvornog koda. Da biste to učinili, možete slijediti upute u sljedeći link.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.