Zlonamerna koda je bila najdena v namestitvenem programu purescript npm

npm purescript

Pred nekaj dnevi v odvisnostih paketa npm z namestitvenim programom PureScript je bila zaznana zlonamerna koda, ki se pokaže pri poskusu namestitve paketa purescript.

Zlonamerna koda vdelane prek odvisnosti load-from-cwd-or-npm in odvisnosti zemljevida hitrosti. Treba je opozoriti, da je za spremljanje paketov s temi odvisnostmi odgovoren prvotni avtor paketa npm z namestitvenim programom PureScript, ki je še nedavno sodeloval pri vzdrževanju tega paketa npm, vendar je bil paket poslan drugim vzdrževalcem.

O težavi

Težavo je odkril eden od novih analitikov paketa, na katerega so bile po številnih nesoglasjih in grdih razpravah s prvotnim avtorjem paketa npm purescript prenesene pravice do preživnine.

Novi vzdrževalci so odgovorni za prevajalnik PureScript in vztrajali so, da bi moral paket NPM s svojim namestitvenikom vzdrževalci popraviti sami, ne pa razvijalec zunaj projekta.

Avtor paketa npm z namestitvenim programom PureScript se dolgo ni strinjal, nato pa je odnehal in omogočil dostop do skladišča. Nekatere odvisnosti pa so ostale pod njegovim nadzorom.

Prejšnji teden je bila napovedana izdaja prevajalnika PureScript 0.13.2 novi vzdrževalci pa so z namestitvenim programom pripravili ustrezno posodobitev paketa npm, za katero je bila zaznana zlonamerna koda.

Zlonamerna koda je bila najprej vstavljena v paket npm "load-from-cwd-or-npm" v različici 3.0.2 in nato v paketu map-map iz različice 1.0.3. V zadnjih dneh je bilo objavljenih več različic obeh paketov.

Prestavljen iz prispevka, ki avtorja paketa npm spremlja z namestitvenim programom PureScript, je dejal, da so njegov račun ogrozili neznani napadalci.

Vendar pa v trenutni obliki so bila dejanja zlonamerne kode omejena le s sabotažo namestitve paketa, ki je bila prva različica novih vzdrževalcev. Zlonamerna dejanja so bila odstranjena med poskusom namestitve paketa z ukazom "npm i -g purescript" brez izvajanja kakršne koli izrecne zlonamerne dejavnosti.

Ugotovljena sta bila dva napada

Na kratko, koda sabotira namestitveni program purescript npm, da prepreči dokončanje prenosa, zaradi česar se namestitveni program obesi med korakom "Preveri, ali je za vašo platformo na voljo vnaprej sestavljen binarni program".

Prvi izkoristek je to storil tako, da je zlomil paket load-from-cwd-or-npm tako da bi vsak klic loadFromCwdOrNpm () vrnil prehodno zaporedje namesto pričakovanega paketa (v tem primeru paket zahtev, ki smo ga uporabili za prenos binarnih datotek prevajalnika). Druga ponovitev izkoriščanja je to storila s spreminjanjem izvorne datoteke, da se prepreči sprožitev povratnega klica za prenos.

4 dni kasneje razvijalci so razumeli vir napak in se pripravljali na izdajo posodobitve za izključitev load-from-cwd-o-npm iz odvisnosti, so napadalci izdali novo posodobitev load-from-cwd-or-npm 3.0.4, kjer je bila zlonamerna koda odstranjena.

Vendar je bila skoraj takoj izdana posodobitev druge odvisnosti Rate-Map 1.0.3, v kateri je bil dodan popravek, ki blokira klic povratnega klica za prenos.

To pomeni, da sta bili v obeh primerih spremembe v novih različicah load-from-cwd-or-npm in hitrost zemljevida navideznega odstopanja.

Tudi v zlonamerni kodi je prišlo do preverjanja, ki je sprožilo neuspešna dejanja le pri namestitvi različice novih vzdrževalcev in se ob namestitvi prejšnjih različic sploh ni pojavilo.

Razvijalci so težavo rešili tako, da so izdali posodobitev, v kateri so bile problematične odvisnosti odstranjene.

Za preprečitev namestitve ogrožene kode v uporabniške sisteme po poskusu namestitve problematične različice PureScript.

Končno razvijalec priporoča vsem, ki imajo v svojem sistemu omenjene različice paketa odstranite vsebino imenikov node_modules in datotek package-lock.json in nato nastavite različico purescript 0.13.2.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.