WordPress: massiccia campagna di exploit su un bug nel plugin WooCommerce Payments per ottenere privilegi sugli utenti.

In corso una massiccia campagna di exploit contro siti WordPress vulnerabili

I ricercatori di sicurezza hanno individuato una massiccia campagna di sfruttamento del noto plugin WooCommerce Payments. Scopo della campagna quello di ottenere i privilegi su qualsiasi utente, amministratori compresi, su installazioni WordPress vulnerabili.

WooCommerce Payments è un plugin molto noto di WordPress che abilita la funzionalità di pagamento tramite carta di credito / debito sugli e-commerce sviluppati con WooCommerce. Stando ai dati ufficiali diramati da WordPress, il plugin è usato in oltre 600.000 installazioni attive.

Va detto che gli sviluppatori hanno pubblicato la versione 5.6.2 che risolve la vulnerabilità critica che rende vulnerabile WooCommerce Payments. La CVE in questione è la CVE-2023-28121 che riguarda le versioni del plugin dalla 4.8.0 e successive.

La CVE-2023-28121 sfruttata attivamente

I ricercatori di RCE Security hanno analizzato questo bug e rilasciato una dettagliata analisi tecnica sulla vulnerabilità CVE-2023-28121 e come sia possibile sfruttarla. I ricercatori spiegano che agli attaccanti è sufficiente aggiungere la request header ‘X-WCPAY-PLATFORM-CHECKOUT-USER’ e impostarla sull’ID utente dell’account che desiderano impersonare. Quando il plugin WooCommerce Payments “vede” questo header, tratterà la richiesta come se provenisse proprio dall’ID utente specificato, includendo tutti i privilegi dell’utente.

Nell’analisi dei ricercatori RCE Security si trova anchye un proof-of-concept di exploit che usa questo bug per creare un utente amministratore sul sito WordPress vulnerabile.

L'uso dell'exploit per la creazione dell'account admin hacked. Fonte: RCE Security
L’uso dell’exploit per la creazione dell’account admin hacked. Fonte: RCE Security

Ma Wordfence, società specializzata in sicurezza WordPress, ha diramato un allarme nel quale denuncia di aver intercettato, qualche giorno fa, una massiccia campagna di sfruttamento della CVE-2023-28121 che ha riguardato centinaia di migliaia di siti web. La campagna è durata un intero fine settimana e ha toccato il picco di 1.3 milioni di attacchi contro 157.000 siti web.

Gli attori hanno mostrato due diversi atteggiamenti: hanno usato l’exploit per installare il plugin WP Console oppure hanno creato account admin. In particolare, in presenza dell’installazione di WP Console, gli attaccanti hanno usato il plugin per eseguire codice PHP per installare un uploader di file sul server. Una backdoor vera e propria utilizzabile anche nel caso in cui la vulnerabilità venga risolta.

Una richiesta che tenta l’uso del plugin WP Console per eseguire codice dannoso al fine di piazzare un uploader sul sito vulnerabile. Fonte: Wordfence

L’exploit in breve: come funziona?

Per quanto ricostruito fino ad adesso, gli attaccanti cercano siti WordPress vulnerabili cercando di accedere al file “/wp-content/plugins/woocommerce-payments/readme.txt” . Se esistente, iniziano il tentativo di exploit della vulnerabilità. I ricercatori hanno condiviso 7 diversi indirizzi IP correlati a questi attacchi: tra questi il solo indirizzo IP 194.169.175.93 ha scansionato 213.212 siti web (dati Wordfence).

Cosa fare per risolvere il problema?

Come detto, questo bug è stato corretto nella versione 5.6.2 di WooCommerce Payments. Il miglior consiglio è, molto banalmente, quello di aggiornare la versione del plugin nei siti web dove questo è in uso.

E’ molto utile dotare il sito WordPress anche di plugin capaci di tenere log delle attività effettuate sul sito: anche il nostro sito web s-mart.biz è stato vittima di ripetuti tentativi di accesso lo scorso fine settimana. Tentativi dei quali abbiamo trovato traccia nel log delle attività.

Ai gestori di siti web che hanno una installazione non recente di WooCommerce Payments consigliamo una scansione dei propri siti web in cerca di file PHP sospetti, account admin inaspettati o cancellati ecc…


Per verificare se il sito web è esposto a questa vulnerabilità (e ad altre) consigliamo l’uso del plugin PWNpress. PWNPress è anche un sito web che raccoglie tutte le informazioni sullo stato di salute dei siti creati in WordPress.


Guida rapida di sicurezza per WordPress

Senza pretesa di completezza, per dare le prime indicazioni di massima, ecco alcuni passi per migliorare al sicurezza dei siti web gestiti con WordPress.

  1. aggiornare CMS, plugin e temi:
    gli attaccanti cercano regolarmente di sfruttare le falle dei CMS o delle componenti di terze parti dei siti web. Attacchi automatizzati colpiscono le vulnerabilità già conosciute dei siti web, ecco perché è importante mantenere aggiornate le componenti del sito web;
  2. password solide:
    password deboli, già trapelate online, utilizzate per più account sono un vero e proprio buco nella sicurezza. Una protezione firewall previene attacchi di brute-forcing, una password solida riduce il rischio di esposizione delle password. Anche la password del database deve essere solida;
  3. occhio alle permissioni:
    Ad ogni utente le permissioni minime secondo le mansioni che deve svolgere sul sito web: questa è una pratica di igiene informatica che può ridurre il rischio di perdere il controllo degli utenti con i privilegi di amministrazione.
  4. modifica la pagina di login:
    La pagina classica di login per WordPress è miodominio/wp-admin. Ed è esattamente l’indirizzo di login che gli attaccanti si aspettano di trovare per ogni sito web WordPress. Sono disponibili centinaia di plugin (ma questa modifica è possibile anche dal Cpanel del sito web) che consentono di modificare l’indirizzo di login in una stringa casuale.
  5. installa plugin che consentano di mantenere il log degli accessi:
    sarà più semplice avere contezza di ciò che sta accadendo sul nostro sito web, quali utenti stanno accedendo, da quale indirizzo IP ecc… così da poter procedere al blocco di IP, email o utenti sospetti;
  6. installa plugin di sicurezza…
    WordPress offre centinaia di plugin di sicurezza, gratuiti o meno, che consentono di:
    • introdurre meccanismi anti-bot;
    • limitazioni dei tentativi di login;
    • firewall;
    • blocco della possibilità di modificare i file config.php o htaccess.php ecc…