Vulnerabilità critica rilevata in WooCommerce il 13 luglio 2021: cosa devi sapere

Pubblicato: 2021-07-15

Ultimo aggiornamento: 23 luglio 2021

Il 13 luglio 2021, una vulnerabilità critica relativa a WooCommerce e al plug-in WooCommerce Blocks è stata identificata e divulgata responsabilmente dal ricercatore di sicurezza Josh, tramite il nostro programma di sicurezza HackerOne.

Dopo aver appreso del problema, il nostro team ha immediatamente condotto un'indagine approfondita, verificato tutte le basi di codice correlate e creato una patch per risolvere il problema per ogni versione interessata (oltre 90 versioni) che è stata distribuita automaticamente negli store vulnerabili.

Ho un negozio WooCommerce: quali azioni devo intraprendere?

Gli aggiornamenti software automatici per WooCommerce 5.5.1 sono iniziati a essere implementati il ​​14 luglio 2021 in tutti i negozi che eseguono versioni interessate di ciascun plug-in, ma ti consigliamo comunque di assicurarti di utilizzare la versione più recente. Per WooCommerce, questo è 5.5.2 * o il numero più alto possibile nel tuo ramo di rilascio. Se stai utilizzando anche WooCommerce Blocks, dovresti utilizzare la versione 5.5.1 di quel plugin.

Importante : con il rilascio di WooCommerce 5.5.2 il 23 luglio 2021, il processo di aggiornamento automatico sopra menzionato è stato interrotto.

Dopo l'aggiornamento a una versione con patch, consigliamo inoltre:

  • Aggiornamento delle password per tutti gli utenti amministratori del tuo sito, soprattutto se riutilizzano le stesse password su più siti web
  • Rotazione di qualsiasi gateway di pagamento e chiavi API WooCommerce utilizzate sul tuo sito.

Di seguito sono disponibili ulteriori informazioni su questi passaggi.

* WooCommerce 5.5.2 è stato rilasciato il 23 luglio 2021. Le correzioni contenute in questa versione non sono correlate alla recente vulnerabilità di sicurezza.

Come faccio a sapere se la mia versione è aggiornata?

La tabella seguente contiene l'elenco completo delle versioni corrette per WooCommerce e WooCommerce Blocks. Se stai eseguendo una versione di WooCommerce o WooCommerce Blocks che non è in questo elenco, aggiorna immediatamente alla versione più alta nel tuo ramo di rilascio.

Versioni di WooCommerce con patch Versioni con patch WooCommerce Blocks
3.3.6 2.5.16
3.4.8 2.6.2
3.5.9 2.7.2
3.6.6 2.8.1
3.7.2 2.9.1
3.8.2 3.0.1
3.9.4 3.1.1
4.0.2 3.2.1
4.1.2 3.3.1
4.2.3 3.4.1
4.3.4 3.5.1
4.4.2 3.6.1
4.5.3 3.7.2
4.6.3 3.8.1
4.7.2 3.9.1
4.8.1 4.0.1
4.9.3 4.1.1
5.0.1 4.2.1
5.1.1 4.3.1
5.2.3 4.4.3
5.3.1 4.5.3
5.4.2 4.6.1
5.5.1 4.7.1
5.5.2 4.8.1
4.9.2
5.0.1
5.1.1
5.2.1
5.3.2
5.4.1
5.5.1

Perché il mio sito Web non ha ricevuto l'aggiornamento automatico?

Il tuo sito potrebbe non essere aggiornato automaticamente per una serie di motivi, alcuni dei più probabili sono: stai eseguendo una versione precedente a quella interessata (sotto WooCommerce 3.3), gli aggiornamenti automatici sono stati esplicitamente disabilitati sul tuo sito, il tuo filesystem è di sola lettura o sono presenti estensioni potenzialmente in conflitto che impediscono l'aggiornamento.

In tutti i casi (tranne il primo esempio, in cui non sei interessato), dovresti tentare di aggiornare manualmente alla versione patchata più recente sul tuo ramo di rilascio (ad es. 5.5.2, 5.4.2, 5.3.1, ecc.), come elencato in la tabella sopra.

Qualche dato è stato compromesso?

Sulla base delle attuali prove disponibili, riteniamo che qualsiasi exploit fosse limitato.

Se un negozio è stato interessato, le informazioni esposte saranno specifiche per ciò che quel sito sta archiviando, ma potrebbero includere informazioni su ordini, clienti e informazioni amministrative.

Come posso verificare se il mio negozio è stato sfruttato?

A causa della natura di questa vulnerabilità e del modo estremamente flessibile con cui WordPress (e quindi WooCommerce) consente di gestire le richieste Web, non esiste un modo definitivo per confermare un exploit. Potresti essere in grado di rilevare alcuni tentativi di exploit esaminando i registri di accesso del tuo server web (o chiedendo aiuto al tuo host web per farlo). Le richieste nei seguenti formati viste tra dicembre 2019 e ora probabilmente indicano un tentativo di exploit:

  • REQUEST_URI corrispondente all'espressione regolare /\/wp-json\/wc\/store\/products\/collection-data.*%25252.*/
  • REQUEST_URI corrispondente all'espressione regolare /.*\/wc\/store\/products\/collection-data.*%25252.*/ (notare che questa espressione non è efficiente/è lenta da eseguire nella maggior parte degli ambienti di registrazione)
  • Qualsiasi richiesta non GET (POST o PUT) a /wp-json/wc/store/products/collection-data o /?rest_route=/wc/store/products/collection-data

Le richieste che abbiamo visto sfruttare questa vulnerabilità provengono dai seguenti indirizzi IP, con oltre il 98% proveniente dal primo nell'elenco. Se vedi uno di questi indirizzi IP nei registri di accesso, dovresti presumere che la vulnerabilità sia stata sfruttata:

  • 137.116.119.175
  • 162.158.78.41
  • 103.233.135.21

Quali password devo cambiare?

È improbabile che la tua password sia stata compromessa poiché è stata sottoposta a hash.

Le password degli utenti di WordPress vengono sottoposte a hash utilizzando sali, il che significa che il valore hash risultante è molto difficile da decifrare. Questo approccio con hash salato protegge la tua password come utente amministratore e anche le password di qualsiasi altro utente sul tuo sito, compresi i clienti. Sebbene sia possibile che la versione hash della tua password memorizzata nel tuo database sia stata raggiunta tramite questa vulnerabilità, il valore hash dovrebbe essere indistinguibile e proteggere comunque le tue password dall'uso non autorizzato.

Ciò presuppone che il tuo sito utilizzi la gestione standard delle password di WordPress per gli utenti. A seconda dei plugin che hai installato sul tuo sito potresti avere password o altre informazioni sensibili archiviate in modi meno sicuri.

Se qualcuno degli utenti amministratore del tuo sito potrebbe aver riutilizzato le stesse password su più siti Web, ti consigliamo di aggiornare tali password nel caso in cui le loro credenziali siano state compromesse altrove.

Ti consigliamo inoltre di modificare tutti i dati privati ​​o segreti archiviati nel database di WordPress/WooCommerce. Ciò può includere chiavi API, chiavi pubbliche/private per gateway di pagamento e altro, a seconda della particolare configurazione del tuo negozio.

In qualità di sviluppatore di estensioni o fornitore di servizi, dovremmo avvisare i nostri commercianti WooCommerce?

Se lavori con qualsiasi negozio o commerciante WooCommerce dal vivo, ti invitiamo a collaborare con loro per assicurarti che siano a conoscenza di questo problema e/o aggiornare il loro negozio a una versione sicura.

Se hai creato un'estensione o offri un servizio SaaS che si basa sull'API WooCommerce, ti invitiamo ad aiutare i commercianti a reimpostare le chiavi per connettersi al tuo servizio.

In qualità di proprietario di un negozio, devo avvisare i miei clienti?

In definitiva, dipende da te se avvisare i tuoi clienti. I tuoi obblighi di notificare i clienti o reimpostare cose come le password variano a seconda di dettagli come l'infrastruttura del tuo sito, la posizione geografica di te e dei tuoi clienti, i dati che il tuo sito sta raccogliendo e se il tuo sito è stato compromesso o meno.

L'azione più importante che puoi intraprendere per proteggere i tuoi clienti è aggiornare la tua versione di WooCommerce a una versione che è stata corretta con una correzione per questa vulnerabilità.

Dopo l'aggiornamento, consigliamo:

  • Aggiornamento delle password per tutti gli utenti amministratori del tuo sito, soprattutto se riutilizzi le stesse password su più siti web
  • Rotazione di qualsiasi gateway di pagamento e chiavi API WooCommerce utilizzate sul tuo sito.

In qualità di proprietario del negozio, in definitiva, spetta a te decidere se prendere ulteriori precauzioni come reimpostare le password dei tuoi clienti. Le password utente di WordPress (e quindi WooCommerce) vengono sottoposte a hash utilizzando sali, il che significa che il valore hash risultante è molto difficile da decifrare. Questo approccio con hash salato viene applicato a tutte le password degli utenti sul tuo sito, comprese le password dei tuoi clienti.

WooCommerce è ancora sicuro da usare?

Sì.

Incidenti come questo sono rari, ma sfortunatamente a volte accadono. La nostra intenzione è sempre quella di rispondere immediatamente e di operare con la massima trasparenza.

Da quando ha appreso della vulnerabilità, il team ha lavorato 24 ore su 24 per garantire che fosse stata messa in atto una correzione e che i nostri utenti fossero stati informati.

Il nostro continuo investimento nella sicurezza della piattaforma ci consente di prevenire la stragrande maggioranza dei problemi, ma nei rari casi che potrebbero potenzialmente avere un impatto sui negozi, ci sforziamo di risolvere rapidamente, comunicare in modo proattivo e collaborare con la comunità di WooCommerce.

E se ho ancora domande?

In caso di ulteriori dubbi o domande su questo problema, il nostro team di Happiness Engineers è a disposizione per aiutarti: apri un ticket di supporto.