Ondsindet kode fundet i purescript npm-installationsprogrammet

npm pureskript

For nogle dage siden ondsindet kode blev opdaget i afhængighederne af npm-pakken med PureScript-installationsprogrammet, som manifesteres, når man prøver at installere purescript-pakken.

Ondsindet kode indlejret via load-from-cwd-eller-npm afhængigheder og hastighedskortafhængigheder. Det skal bemærkes, at den oprindelige forfatter af npm-pakken med PureScript-installationsprogrammet, der indtil for nylig var engageret i vedligeholdelsen af ​​denne npm-pakke, men pakken blev sendt til andre vedligeholdere, er ansvarlig for ledsagende pakker med disse afhængigheder.

Om problemet

Problemet blev opdaget af en af ​​de nye analytikere af pakken, til hvem vedligeholdelsesrettigheder blev overført efter mange uenigheder og grimme drøftelser med den oprindelige forfatter af npm purescript-pakken.

De nye vedligeholdere er ansvarlige for PureScript-kompilatoren og de insisterede på, at NPM-pakken med installationsprogrammet skulle repareres af vedligeholdere selv og ikke af en udvikler uden for projektet.

Forfatteren af ​​npm-pakken med PureScript-installationsprogrammet var længe uenig, men opgav derefter og gav adgang til lageret. Imidlertid blev nogle afhængigheder efterladt under hans kontrol.

I sidste uge blev frigivelsen af ​​PureScript 0.13.2-compileren annonceret og de nye vedligeholdere forberedte den tilsvarende opdatering af npm-pakken med installationsprogrammet, som den ondsindede kode blev fundet for.

Den ondsindede kode blev først indsat i npm-pakken "load-from-cwd-or-npm" i version 3.0.2 og derefter i hastighedskortpakken fra version 1.0.3. I de sidste dage er flere versioner af begge pakker blevet offentliggjort.

Skiftet fra det indlæg, der ledsagede forfatteren af ​​npm-pakken med PureScript-installationsprogrammet, sagde han, at hans konto var kompromitteret af ukendte angribere.

Imidlertid i den nuværende form var handlingerne fra den ondsindede kode kun begrænset ved at sabotere pakkeinstallationen, som var den første version af de nye vedligeholdere. Ondsindede handlinger blev løftet ud, da vi forsøgte at installere en pakke med kommandoen "npm i -g purescript" uden at udføre nogen eksplicit ondsindet aktivitet.

To angreb blev identificeret

Kort sagt koden saboterer purescript npm-installationsprogrammet for at forhindre, at downloadet gennemføres, hvilket får installationsprogrammet til at hænge under trinet "Kontroller, om der er leveret en prækompileret binær til din platform".

Den første udnyttelse gjorde dette ved at bryde pakken load-from-cwd-or-npm således at ethvert opkald til loadFromCwdOrNpm () returnerer en gennemgangssekvens i stedet for den forventede pakke (i dette tilfælde anmodningspakken, som vi brugte til at downloade compiler-binære filer). Den anden iteration af udnyttelsen gjorde dette ved at ændre en kildefil for at forhindre, at en download-tilbagekald frafyres.

4 dage senere udviklerne forstod kilden til fejlene og forberedte sig på at frigive en opdatering for at udelukke load-from-cwd-o-npm fra afhængighederudgav angriberne endnu en opdatering load-from-cwd-or-npm 3.0.4, hvor den ondsindede kode er blevet fjernet.

Imidlertid blev en opdatering til en anden Rate-Map 1.0.3-afhængighed frigivet næsten øjeblikkeligt, hvor der blev tilføjet en rettelse, der blokerer tilbagekaldsopkaldet til download.

I begge tilfælde var ændringerne i de nye versioner af belastning-fra-cwd-eller-npm og korthastigheden af ​​karakteren af ​​en tilsyneladende afvigelse.

Også i den ondsindede kode var der en kontrol, der kun udløste de mislykkede handlinger, når du installerede versionen af ​​de nye vedligeholdere og slet ikke dukkede op, når du installerede de tidligere versioner.

Udviklerne løste problemet ved at frigive en opdatering, hvor de problematiske afhængigheder blev fjernet.

For at forhindre, at kompromitteret kode installeres på brugernes systemer efter at have forsøgt at installere den problematiske version af PureScript.

Endelig anbefaler udvikleren til alle, der har de nævnte versioner af pakken på deres system fjern indholdet af node_modules-mapperne og package-lock.json-filerne, og indstil derefter purescript-version 0.13.2.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.