Zehfbûna di NPM de ku rê li ber nivîsandina pelên li ser pergalê vedike

GitHub hûrguliyên heft qelsiyên di pakêtên tar û @npmcli/arborist de eşkere kir, ku fonksiyonên ji bo xebata bi arşîvên tar û hesabkirina dara girêdayîbûnê li Node.js peyda dikin. Qelsî dihêlin, dema ku arşîvek taybetî hatî sêwirandin vekin, pelên li derveyî pelrêça root ya ku venekirin tê de tê de tête binivîsandin, bi qasî ku mafên gihîştina heyî destûrê didin. Pirsgirêkan îmkana organîzekirina pêkanîna koda kêfî ya li ser pergalê dike, mînakî, bi lêzêdekirina fermanan li ~/.bashrc an ~/.profile dema ku operasyonek ji hêla bikarhênerek nepejirandî ve tête kirin, an bi guheztina pelên pergalê dema ku wekî xebitandinê tê xebitandin. reh.

Xetereya qelsbûnê ji ber vê yekê girantir dibe ku koda pirsgirêk di rêvebirê pakêtê npm de dema ku bi pakêtên npm re xebitîne tê bikar anîn, ku ev gengaz dike ku êrîşek li ser bikarhêneran organîze bike bi danîna pakêtek npm ya taybetî ya sêwirandî di depoyê de, pêvajoyê. ya ku dê koda êrîşkar li ser pergalê bicîh bike. Dema ku pakêtan di moda "-ignore-scripts" de saz bikin jî, ku înfazkirina nivîsarên çêkirî asteng dike, êrîş gengaz e. Bi tevahî, npm li çar qelsiyan (CVE-2021-32804, CVE-2021-37713, CVE-2021-39134 û CVE-2021-39135) ji heftan bandor dike. Du pirsgirêkên yekem bi pakêta tar ve girêdayî ne, û duyên mayî jî pakêta @npmcli/arborist e.

Zehfiya herî xeternak, CVE-2021-32804, ji ber vê yekê ye ku dema ku rêyên bêkêmasî yên ku di arşîvek tar de hatine destnîşan kirin paqij dikin, tîpên "/" yên dubare bi xeletî têne hilberandin - tenê karaktera yekem tê rakirin, yên mayî jî têne hiştin. Mînakî, riya "/home/user/.bashrc" dê bibe "home/user/.bashrc" û riya "//home/user/.bashrc" bibe "/home/user/.bashrc". Zehfiya duyemîn, CVE-2021-37713, tenê li ser platforma Windows-ê xuya dike û bi paqijkirina xelet a rêyên têkildar ve girêdayî ye ku karakterek ajokarê ya bêsînor ("C:hin\ rê") û rêzek vedigere pelrêça berê ( "C:../foo").

Qelsiyên CVE-2021-39134 û CVE-2021-39135 ji modula @npmcli/arborist re taybetî ne. Pirsgirêka yekem tenê li ser pergalên ku di pergala pelê de mesela karakteran ji hev cihê nakin (macOS û Windows) xuya dike, û dihêle hûn bi destnîşankirina du modulên '"foo" di nav pêwendiyan de pelan li beşek kêfî ya pergala pelê binivîsin. : "pel:/some/path"' û ' FOO: "file:foo.tgz"', pêvajokirina wan dê bibe sedema jêbirina naveroka pelrêça /some/path û nivîsandina naveroka foo.tgz li ser. Pirsgirêka duyemîn dihêle ku pelan bi manîpulasyona girêdana sembolîk ve were nivîsandin.

Qelsî di weşanên Node.js 12.22.6 û 14.17.6, npm CLI 6.14.15 û 7.21.0, û berdanên pakêta tar a kesane 4.4.19, 5.0.11, û 6.1.10 de têne çareser kirin. Piştî wergirtina agahdarî di derbarê pirsgirêkê de wekî beşek ji înîsiyatîfa "bug bounty", GitHub 14500 $ da lêkolîneran û naveroka depoyê şopand, ku hewildanên îstismarkirina qelsiyan eşkere nekir. Ji bo parastina li hember van pirsgirêkan, GitHub di heman demê de weşandina pakêtên NPM-ê yên ku girêdanên sembolîk, girêdanên hişk, û rêyên bêkêmasî yên depoyê vedigirin jî qedexe kir.

Source: opennet.ru

Add a comment