Kodi keqdashës u gjet në instaluesin e npm të purescript

shkrim i pastër npm

Disa ditë më parë kodi keqdashës u zbulua në varësitë e paketës npm me instaluesin PureScript, e cila manifestohet kur përpiqeni të instaloni paketën purescript.

Kod i dëmshëm ngulitur përmes varësisë load-from-cwd-or-npm dhe varësitë e hartës së shpejtësisë. Duhet të theksohet se autori origjinal i paketës npm me instaluesin PureScript, i cili deri vonë ishte angazhuar në mirëmbajtjen e kësaj pakete npm, por paketa u dërgua te mirëmbajtësit e tjerë, është përgjegjës për shoqërimin e paketave me këto varësi.

Në lidhje me problemin

Problemi u zbulua nga një prej analistëve të rinj të paketës, tek i cili u transferuan të drejtat e mirëmbajtjes pas shumë mosmarrëveshjeve dhe diskutimeve të këqija me autorin origjinal të paketës purescript të npm.

Mirëmbajtësit e rinj janë përgjegjës për përpiluesin PureScript dhe ata këmbëngulën që paketa NPM me instaluesin e saj të riparohej nga vetë mirëmbajtësit, jo nga një zhvillues jashtë projektit.

Autori i paketës npm me instaluesin PureScript nuk ishte dakord për një kohë të gjatë, por më pas hoqi dorë dhe i dha hyrjen në depo. Sidoqoftë, disa varësi u lanë nën kontrollin e tij.

Javën e kaluar, u njoftua lëshimi i përpiluesit të PureScript 0.13.2 dhe mirëmbajtësit e rinj përgatitën azhurnimin përkatës të paketës npm me instaluesin, për të cilin u zbulua kodi keqdashës.

Kodi keqdashës u fut së pari në paketën npm "load-from-cwd-or-npm" në versionin 3.0.2 dhe më pas në paketën e hartës së normës nga versioni 1.0.3. Në ditët e fundit u botuan disa versione të të dy paketave.

Zhvendosur nga postimi që shoqëronte autorin e paketës npm me instaluesin PureScript, ai tha se llogaria e tij ishte komprometuar nga sulmues të panjohur.

Megjithatë, në formën aktuale, veprimet e kodit me qëllim të keq u kufizuan vetëm duke sabotuar instalimin e paketës, i cili ishte versioni i parë i mirëmbajtësve të rinj. Veprimet e dëmshme u zbuluan gjatë përpjekjes për të instaluar një paketë me komandën "npm i -g purescript" pa kryer ndonjë aktivitet të qartë dashakeqës.

Dy sulme u identifikuan

Me pak fjalë, kodi saboton instaluesin npm purescript për të parandaluar përfundimin e shkarkimit, gjë që bën që instaluesi të varet gjatë hapit "Kontrolloni nëse ofrohet një binar i parakompiluar për platformën tuaj".

Shfrytëzimi i parë e bëri këtë duke thyer paketën load-from-cwd-or-npm në mënyrë që çdo thirrje për të ngarkuarFromCwdOrNpm () do të kthente një sekuencë përcjellëse në vend të paketës së pritur (në këtë rast, paketën e kërkesës, të cilën po e përdornim për të shkarkuar binaret e përpiluesit). Përsëritja e dytë e shfrytëzimit e bëri këtë duke modifikuar një skedar burimor për të parandaluar që një thirrje shkarkimi të ndezet.

4 ditë më vonë zhvilluesit e kuptuan burimin e defekteve dhe po përgatiteshin të lëshonin një azhurnim për të përjashtuar ngarkesën nga cwd-o-npm nga varësitë, sulmuesit lëshuan një tjetër përditësim load-from-cwd-or-npm 3.0.4, ku kodi me qëllim të keq është hequr.

Sidoqoftë, një azhurnim i një varësie tjetër Rate-Map 1.0.3 u lëshua pothuajse menjëherë, në të cilin u shtua një rregullim që bllokon thirrjen e thirrjes për shkarkim.

Kjo është, në të dy rastet, ndryshimet në versionet e reja të ngarkesës nga cwd-ose-npm dhe shkalla e hartës ishin të natyrës së një devijimi të dukshëm.

Gjithashtu, në kodin me qëllim të keq kishte një kontroll që shkaktoi veprimet e dështuara vetëm kur instaloni versionin e mirëmbajtësve të rinj dhe nuk u shfaq fare kur instaloni versionet e mëparshme.

Zhvilluesit e zgjidhën problemin duke lëshuar një azhurnim në të cilin u hoqën varësitë problematike.

Për të parandaluar instalimin e kodit të kompromentuar në sistemet e përdoruesve, pasi keni provuar të instaloni versionin problematik të PureScript.

Më në fund rekomandon zhvilluesi për të gjithë ata që kanë versionet e përmendura të paketës në sistemin e tyre hiqni përmbajtjen e drejtorive të node_modules dhe skedarët e packet-lock.json dhe më pas vendosni verzionin purescript 0.13.2.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.