Au fost găsite trei vulnerabilități în NPM, care sunt remediate în NPM 6.13.4

Dezvoltatori care sunt responsabili de proiect de la managerul de pachete NPM, lansat lansat recent o actualizare corectivă la NPM 6.13.4 inclus în livrarea Node.js și utilizat pentru distribuirea modulelor JavaScript.

Această nouă versiune corectivă a managerului a fost lansat pentru a rezolva trei vulnerabilități care permit modificarea sau suprascrierea fișierelor de sistem arbitrare la instalarea unui pachet pregătit de un atacator.

CVE-2019-16775

Această vulnerabilitate afectează versiunile CLI NPM anterioare versiunii 6.13.3, esti bine sunt vulnerabili la scrierea arbitrară de fișiere. Pachetele pot crea legături simbolice către fișiere din afara folderului nod_module prin câmpul coșului după instalare.

O intrare corect construită în câmpul bin package.json ar permite unui editor de pachete să creeze o legătură simbolică care să indice fișiere arbitrare pe sistemul unui utilizator când pachetul este instalat. Acest comportament este încă posibil prin intermediul scripturilor de instalare.

CVE-2019-16776

În această vulnerabilitate, Versiunile NPM CLI anterioare 6.13.3 sunt afectate de scrierea arbitrară a fișierelor. Deoarece nu puteți împiedica accesul la folderele din afara folderului node_modules intenționat prin câmpul bin.

O intrare construită corespunzător în câmpul bin package.json ar permite unui editor de pachete să modifice și să acceseze fișiere arbitrare de pe sistemul unui utilizator atunci când pachetul este instalat. Acest comportament este încă posibil prin intermediul scripturilor de instalare.

În coșul de gunoi au fost permise traseele cu „/../”

CVE-2019-16777

În cele din urmă, Versiunile NPM CLI anterioare versiunii 6.13.4 sunt vulnerabile în această vulnerabilitate la o suprascriere de fișier arbitrară. Deoarece nu puteți împiedica alte binaruri să suprascrie binarele existente existente la nivel global.

De exemplu, dacă un pachet a fost instalat la nivel global și a creat un serviciu binar, orice instalare ulterioară pachete care creează și un serviciu binar va suprascrie vechiul serviciu binar. Acest comportament este încă permis pe instalațiile locale și, de asemenea, prin scripturile de instalare.

Puteți înlocui fișierele doar în directorul de destinație în care sunt instalate fișierele executabile (de obicei / usr, / local, / bin).

Deși un factor important pentru aceste vulnerabilități este că persoana care dorește să exploateze aceste defecte ar trebui să aibă ca victima sa să instaleze pachetul cu intrarea special concepută. Cu toate acestea, așa cum am văzut în trecut, aceasta nu este o barieră de netrecut.

Echipa de securitate de la npm, Inc. a scanat registrul pentru exemple de atac și nu a găsit pachete publicate în registru cu acest exploit. Acest lucru nu garantează că nu a fost utilizat, dar înseamnă că nu este utilizat în prezent în pachetele publicate în registru.

Vom continua să monitorizăm și să luăm măsuri pentru a împiedica actorii răi să exploateze această vulnerabilitate în viitor. Cu toate acestea, nu putem scana toate sursele posibile de pachete npm (registre private, oglinzi, depozite git etc.), deci este important să se actualizeze cât mai curând posibil.

Depanare

Ca soluție principală, se recomandă să actualizați la noua versiune corectivă, deoarece bibliotecile de analiză package.json utilizate în NPM v6.13.3 au fost actualizate într-un mod care să igienizeze și să valideze toate intrările din câmpul bin pentru a elimina transmisia oblice inițiale, intrări de rute și alte mijloace de evacuare a rutei, folosind utilitarul de rute bine testat și foarte fiabil încorporat în Node.js.

Deşi, ca soluție, poate fi instalat cu opțiunea –Ignore-scripturi, care interzice rularea pachetelor de driver încorporate.

Fără alte întrebări, dacă doriți să aflați mai multe despre erori, puteți verifica detaliile în postarea de pe blogul npm În următorul link.

În cele din urmă, pentru cei care doresc să instaleze noua versiune, o pot face de pe canalele oficiale sau alegând să compileze din codul sursă al acesteia. Pentru aceasta puteți urma instrucțiunile din următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.