Kompania GitHub publikoi detajet mbi shtatë dobësitë në paketat tar dhe @npmcli/arborist, të cilat ofrojnë funksione për punën me arkivat tar dhe llogaritjen e pemës së varësive në Node.js. Dobësitë lejojnë që gjatë shkarkimit të një arkivi të dizajnuar posaçërisht, të rishkruhen skedarët jashtë katalogut kryesor në të cilin bëhet shkarkimi, sa i lejojnë aktualet të drejtat e aksesit. Problemet ofrojnë mundësinë e ekzekutimit të kodit të rastësishëm në sistem, për shembull, përmes shtimit të komandave në ~/ .bashrc ose ~/ .profile gjatë kryerjes së operacionit nga një përdorues i pa privilegjuar ose përmes zëvendësimit të skedarëve sistemorë kur executehet me të drejtat root.
Rreziku i dobësive përkeqësohet nga fakti se kodi problematik përdoret në menaxherin e paketave npm gjatë operacioneve me npm-paketat, duke lejuar kështu që të organizohet një sulm ndaj përdoruesve, duke vendosur një npm-paket të dizajnuar posaçërisht në depo, të cilit gjatë përpunimit do të ekzekutohet kodi i keqbërësit në sistem. Sulmi është i mundshëm edhe gjatë instalimit të paketave në mënyrën "--ignore-scripts", që çon në çaktivizimin e ekzekutimit të skenareve të integruar. NPM mbulon gjithsej katër dobësi (CVE-2021-32804, CVE-2021-37713, CVE-2021-39134 dhe CVE-2021-39135) nga shtatë. Dy të parat lidhen me paketën tar, dhe dy të tjerat me paketën @npmcli/arborist.
DobĂ«sia mĂ« e rrezikshme CVE-2021-32804 shkaktohet nga fakti se gjatĂ« pastrimit tĂ« rrugĂ«ve absolute tĂ« specifikuara nĂ« arkivin tar, simboli " / " pĂ«rsĂ«ritĂ«s trajtohet nĂ« mĂ«nyrĂ« tĂ« gabuar â vetĂ«m simboli i parĂ« hiqet, ndĂ«rsa tĂ« tjerĂ«t lihen. PĂ«r shembull, rruga " / home / user / .bashrc " do tĂ« transformohet nĂ« " home / user / .bashrc ", ndĂ«rsa rruga " // home / user / .bashrc " nĂ« " / home / user / .bashrc ". DobĂ«sia e 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 pandarĂ« tĂ« diskut (" C:some\path ") dhe sekuestrĂ«n pĂ«r tĂ« kthyer nĂ« katalogun e mĂ«parshĂ«m (" C:../foo ").
Vrimat e CVE-2021-39134 dhe CVE-2021-39135 janĂ« specifike pĂ«r modulin @npmcli/arborist. Problemi i parĂ« krijohet vetĂ«m nĂ« sisteme qĂ« nuk dallojnĂ« regjistrin e karaktereve nĂ« FS (macOS dhe Windows), dhe lejon qĂ« tĂ« shkruhen skedarĂ« nĂ« pjesĂ«n e rastĂ«sishme tĂ« FS, duke specifikuar si varĂ«si dy module â»foo»: «file:/some/path»â dhe âFOO: «file:foo.tgz»â, pĂ«rpunimi i tĂ« cilave do tĂ« çojĂ« nĂ« fshirjen e pĂ«rmbajtjes sĂ« katalogut /some/path dhe shkruarjen e pĂ«rmbajtjes sĂ« foo.tgz nĂ« tĂ«. Problemi i dytĂ« lejon qĂ« tĂ« tejkalohet skedarĂ«t pĂ«rmes manipulimit me lidhjet simbolike.
Vrimat 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ë versionet e veçanta të paketës tar 4.4.19, 5.0.11 dhe 6.1.10. Pas marrjes së informacionit në lidhje me problemin në kuadër të iniciativës «bug bounty», GitHub pagoi hulumtuesit $14500 dhe skanuar përmbajtjen e depozitës, ku nuk janë zbuluar përpjekje për të shfrytëzuar vrimat. Për të mbrojtur nga problemet e mësipërme, GitHub gjithashtu ka vendosur një ndalim për publikimin në depozitë të paketave NPM që përfshijnë lidhje simbolike, lidhje të forta dhe rrugë absolute.
Burimi: opennet.ru
