Trovata una backdoor in una famosa libreria JavaScript

by Matteo Cappadonna on

(source: arstechnica.com)

Altro mese, altra vulnerabilità. Questa volta a cura di event-stream, una famosissima libreria JavaScript con 2 milioni di download, utilizzata sia da startup che da aziende nella classifica Fortune 500.

EventStream è una libreria che si occupa di rendere più comodo l’uso degli Streams, una delle componenti fondamentali di NodeJS, l’ancor più famoso runtime environment per l’esecuzione di codice JavaScript all’esterno dei browser (per la creazione di applicazioni server-side ad esempio).

Tutto è iniziato quando Dominic Tarr, sviluppatore di event-stream dalle sue prime release, alcuni mesi fa ha annunciato di non avere più tempo di aggiornare la libreria, ed iniziato a farsi aiutare da un altro sviluppatore non ben identificato. Questo individuo, in due momenti ben distinti, ha introdotto e tenuto nascosto il codice malevolo, andandolo ad inserire nel modulo criptato flatmap-stream, con bersaglio gli utenti che utilizzano il wallet Copay per i propri bitcoin; l’azienda, per l’appunto, utilizza proprio event-stream nell’applicazione.

In un post di un blog l’azienda ha ufficializzato che le versioni dalla 5.0.2 alla 5.1.0 sono affette, e si consiglia di evitare l’esecuzione dell’applicazione fino all’aggiornamento alla 5.2.0:

Users should assume that private keys on affected wallets may have been compromised, so they should move funds to new wallets (v5.2.0) immediately. Users should not attempt to move funds to new wallets by importing affected wallets’ twelve word backup phrases (which correspond to potentially compromised private keys). Users should first update their affected wallets (5.0.2-5.1.0) and then send all funds from old wallets to a brand new wallet on version 5.2.0

Gli utenti devono considerare che le chiavi private nei wallet affetti possono essere compromesse, quindi dovrebbero spostare i fondi nei nuovi wallet (v5.2.0) immediatamente. Gli utenti non dovrebbero provare a spostare i loro fondi nei nuovi wallet importando la frase di backup da dodici parole dei wallet infetti (che corrisponde potenzialmente alle chiavi private compromesse). Gli utenti devono prima aggiornare i loro wallet affetti (5.0.2-5.1.0), dopodiché inviare tutti i loro fondi dal vecchio wallet ad un nuovo sulla versione 5.2.0

E’ presente un’intera discussione su GitHub riguardo tutta la faccenda, che vi invitiamo a leggere.

Personalmente, continuo sempre di più ad abbracciare il detto:

Everything in Ruby is an object.
Everything in Clojure is a list.
Everything in JavaScript is a terrible mistake.

Leggi il contenuto originale su Mia mamma usa Linux!

Written by: Matteo Cappadonna