Skadlig kod hittades i purescript npm-installationsprogrammet

npm renskrift

Några dagar sedan skadlig kod upptäcktes i beroenden av npm-paketet med PureScript-installationsprogrammet, vilket manifesteras när man försöker installera purescript-paketet.

Skadlig kod inbäddad via beroende-från-cwd-eller-npm-beroenden och hastighetskartberoenden. Det bör noteras att den ursprungliga författaren av npm-paketet med PureScript-installationsprogrammet, som tills nyligen var engagerad i underhållet av detta npm-paket, men paketet skickades till andra underhållare, ansvarar för att följa med paket med dessa beroenden.

Om problemet

Problemet upptäcktes av en av de nya analytikerna i paketet, till vilka underhållsrättigheter överfördes efter många oenigheter och fula diskussioner med den ursprungliga författaren till npm purescript-paketet.

De nya underhållarna ansvarar för PureScript-kompilatorn och de insisterade på att NPM-paketet med installatören skulle repareras av underhållarna själva, inte av en utvecklare utanför projektet.

Författaren av npm-paketet med PureScript-installationsprogrammet var inte överens under lång tid, men gav sedan upp och gav åtkomst till förvaret. Vissa beroenden lämnades emellertid under hans kontroll.

Förra veckan tillkännagavs lanseringen av kompilatorn PureScript 0.13.2 och de nya underhållarna förberedde motsvarande uppdatering av npm-paketet med installationsprogrammet, för vilken den skadliga koden upptäcktes.

Den skadliga koden infördes först i npm-paketet "load-from-cwd-or-npm" i version 3.0.2 och sedan i hastighetskartpaketet från version 1.0.3. Under de senaste dagarna publicerades flera versioner av båda paketen.

Skiftat från inlägget som åtföljer författaren till npm-paketet med PureScript-installationsprogrammet, sa han att hans konto komprometterades av okända angripare.

Sin embargo, i den aktuella formen begränsades åtgärderna för den skadliga koden endast genom att sabotera paketinstallationen, som var den första versionen av de nya underhållarna. Skadliga åtgärder slogs ut när man försökte installera ett paket med kommandot "npm i -g purescript" utan att utföra någon explicit skadlig aktivitet.

Två attacker identifierades

Kort sagt, koden saboterar installationsprogrammet för purescript npm för att förhindra att nedladdningen slutförs, vilket får installationsprogrammet att hänga under steget "Kontrollera om en förkompilerad binär tillhandahålls för din plattform".

Den första exploateringen gjorde detta genom att bryta paketet load-from-cwd-or-npm så att alla anrop till loadFromCwdOrNpm () skulle returnera en pass-through-sekvens istället för det förväntade paketet (i det här fallet begäranpaketet, som vi använde för att ladda ner kompilatorbinarierna). Den andra iterationen av exploateringen gjorde detta genom att ändra en källfil för att förhindra att en nedladdning återlämnas från att avfyras.

4 dagar senare utvecklarna förstod källan till bristerna och förberedde sig för att släppa en uppdatering för att utesluta belastning från cwd-o-npm från beroenden, släppte angriparna ytterligare en uppdatering load-from-cwd-or-npm 3.0.4, där den skadliga koden har tagits bort.

Men en uppdatering till ett annat Rate-Map 1.0.3-beroende släpptes nästan omedelbart, där en fix lades till som blockerar återuppringningssamtalet för nedladdning.

I båda fallen var förändringarna i de nya versionerna av belastning-från-cwd-eller-npm och karthastigheten av en tydlig avvikelse.

I den skadliga koden fanns också en kontroll som utlöste de misslyckade åtgärderna endast när du installerade versionen av de nya underhållarna och som inte alls visades när de tidigare versionerna installerades.

Utvecklarna löste problemet genom att släppa en uppdatering där de problematiska beroenden togs bort.

För att förhindra att komprometterad kod installeras på användarnas system efter att ha försökt installera den problematiska versionen av PureScript.

Slutligen rekommenderar utvecklaren till alla som har de nämnda versionerna av paketet på sitt system ta bort innehållet i nod_modules-katalogerna och package-lock.json-filerna och ställ sedan in purescript-version 0.13.2.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.