Vulnerabilitet në NPM, që çon në rishkrimin e skedarëve në sistem

Kompania GitHub zbuloi detaje rreth shtatë vulnerabiliteteve në paketat tar dhe @npmcli/arborist, që ofrojnë funksione për punën me arkivat tar dhe llogaritjen e pemës së varësive në Node.js. Vulnerabilitetet lejojnë që gjatë zhveshjes së një arkivi të dizajnuar posaçërisht, të rinovohen skedarë jashtë katalogut kryesor ku po bëhet zhveshja, sa e lejojnë aktualisht të drejtat e aksesit. Problemet ofrojnë mundësinë për të organizuar ekzekutimin e kodit arbitrar në sistem, për shembull, përmes shtimit të komandave në ~/ .bashrc ose ~/ .profile gjatë kryerjes së veprimit nga një përdorues pa privilegje ose përmes zëvendësimit të skedarëve sistemorë kur startohet me të drejtat root.

Rreziku i vulnerabiliteteve përkeqësohet nga fakti se kodi problematik përdoret në menaxherin e pakove npm gjatë operacioneve me paketat npm, duke lejuar organizimin e një sulmi ndaj përdoruesve, duke postuar në një depo një paketë npm të dizajnuar posaçërisht, gjatë trajtimit të cilës në sistem do të ekzekutohet kodi i hakerit. Sulmi është i mundshëm madje edhe kur paketat instalohen në modalitetin "--ignore-scripts", që çaktivizon ekzekutimin e skripteve të integruara. Në total, npm ndikohet nga katër vulnerabilitete (CVE-2021-32804, CVE-2021-37713, CVE-2021-39134 dhe CVE-2021-39135) nga shtatë. Dy të parat e problemeve lidhen me paketën tar, ndërsa dy të tjerat me paketën @npmcli/arborist.

Vulnerabiliteti mĂ« i rrezikshĂ«m CVE-2021-32804 rezulton nga fakti se gjatĂ« pastrimit tĂ« rrugĂ«ve absolute tĂ« specifikuara nĂ« arkivin tar, simbolet "/" tĂ« pĂ«rsĂ«ritura pĂ«rpunohen gabimisht — vetĂ«m simboli i parĂ« hiqet, ndĂ«rsa tĂ« tjerat mbeten. PĂ«r shembull, rruga "/home/user/.bashrc" do tĂ« kthehet nĂ« "home/user/.bashrc", ndĂ«rsa rruga "//home/user/.bashrc" nĂ« "/home/user/.bashrc". Vulnerabiliteti i dytĂ« CVE-2021-37713 shfaqet vetĂ«m nĂ« platformĂ«n Windows dhe lidhet me pastrimin e gabuar tĂ« rrugĂ«ve relative, qĂ« pĂ«rfshijnĂ« simbolin e ndarjes sĂ« disku tĂ« padiskutuar ("C:some\path") dhe sekuencĂ«n pĂ«r tĂ« kaluar nĂ« katalogun e mĂ«parshĂ«m ("C:../foo").

Vulnerabilitetet CVE-2021-39134 dhe CVE-2021-39135 janĂ« specifike pĂ«r modulin @npmcli/arborist. Problemi i parĂ« shfaqet vetĂ«m nĂ« sisteme qĂ« nuk dallojnĂ« rastin e simboleve nĂ« FS (macOS dhe Windows), dhe lejon shkrimin e skedarĂ«ve nĂ« njĂ« pjesĂ« tĂ« sajuar tĂ« FS duke specifikuar nĂ« numrin e varĂ«sive dy module ‘"foo": "file:/some/path"‘ dhe ‘FOO: "file:foo.tgz"‘, procesi i tĂ« cilit do tĂ« çojĂ« nĂ« fshirjen e pĂ«rmbajtjes sĂ« katalogut /some/path dhe shkrimin e tij aty nga pĂ«rmbajtja foo.tgz. Problemi i dytĂ« lejon rinovimin e skedarĂ«ve pĂ«rmes manipulimeve me lidhjet simbolike.

Vulnerabilitetet janë eliminuar në versionet Node.js 12.22.6 dhe 14.17.6, npm CLI 6.14.15 dhe 7.21.0, si dhe në versione të veçanta të paketës tar 4.4.19, 5.0.11 dhe 6.1.10. Pas marrjes së informacionit për problemin në kuadër të iniciativës "bug bounty", GitHub shpërbleu hulumtuesit me $14500 dhe skanoi përmbajtjen e depozitës, në të cilën nuk u zbuluan përpjekje për të shfrytëzuar vulnerabilitetet. Për të mbrojtur nga problemet e përcaktuara, GitHub gjithashtu vendosi një ndalim mbi publikimin në depo të paketave NPM që përfshijnë lidhje simbolike, lidhje të ngurta dhe rrugë absolute.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster