Avviso di sicurezza Wallet System for WooCommerce
Se avete ricevuto un’email da parte mia che vi indirizza a questa pagina, è perché il vostro
sito sembra utilizzare una versione vulnerabile di Wallet System for WooCommerce (il plugin
WordPress wallet-system-for-woocommerce, di WP Swings). Questa pagina spiega perché è
importante e come correggere il problema.
Questo avviso riguarda CVE-2026-42654, una falla di gravità elevata (CVSS 7.1) nel flusso di gestione dell’account e di recupero della password del plugin, che potrebbe consentire a una richiesta non autorizzata di ottenere l’accesso a un account cliente. Interessa tutte le versioni precedenti alla 2.7.6 ed è corretta nella 2.7.6. Se utilizzate una versione interessata, aggiornate Wallet System for WooCommerce alla 2.7.6 o successiva (è consigliata l’ultima release, la 2.7.8).
Una precisazione sull’urgenza, perché questo avviso è diverso da altri che ho inviato: questa è una falla di accesso agli account, non una presa di controllo del server o di un account amministratore, e non vi è alcuna indicazione che venga sfruttata. Questa pagina è una segnalazione precauzionale, non un rapporto di incidente. L’aggiornamento chiude il problema, e non è richiesta alcuna risposta di emergenza.
Questa è una falla di un plugin, non del nucleo di WordPress o di WooCommerce. Un WordPress e un WooCommerce pienamente aggiornati non vi proteggono se il plugin Wallet System for WooCommerce stesso utilizza una versione interessata.
Questo messaggio è legittimo?
Sì. Si tratta di un avviso in buona fede, secondo il principio della divulgazione responsabile, da parte di un ricercatore di sicurezza indipendente. Non vi chiedo denaro, password o accesso al vostro sito, e non ho tentato di introdurmi in esso, di caricare alcunché o di sfruttare alcunché.
Tutto ciò che ho fatto è stato esaminare file pubblicamente visibili che il vostro sito
fornisce a ogni visitatore (allo stesso modo in cui la vostra homepage è pubblica) e annotare
il numero di versione che il plugin Wallet System for WooCommerce pubblica nel suo file
pubblico README.txt. In particolare non ho toccato l’endpoint vulnerabile, e nulla di
questo controllo tocca i vostri dati, la vostra area di amministrazione o alcuna parte privata
del vostro sito (maggiori dettagli sotto
Cosa ho fatto e cosa non ho fatto più avanti).
Se desiderate verificare chi sono, consultate i recapiti in fondo a questa pagina e la pagina Informazioni.
Perché è importante
Wallet System for WooCommerce è un componente aggiuntivo per WooCommerce (circa 2.000 installazioni attive) che permette a un negozio di offrire ai propri clienti un portafoglio digitale: i clienti mantengono un saldo, lo ricaricano e lo usano per pagare al momento del checkout. Nelle versioni interessate, le azioni privilegiate del portafoglio nel flusso di gestione dell’account e di recupero della password del plugin erano protette da un token di sicurezza condiviso che il plugin consegnava a ogni visitatore, invece che da un vero controllo dei permessi legato a chi effettua la richiesta. Questa classe di errore si chiama bypass dell’autenticazione tramite un percorso o canale alternativo (CWE-288): il normale percorso di accesso verifica correttamente l’identità, ma un percorso secondario accetta il token condiviso come se dimostrasse l’autorizzazione.
L’effetto pratico è che una richiesta in arrivo su quel percorso secondario, raggiungibile da qualsiasi cliente registrato (e un negozio che offre un portafoglio clienti consente quasi sempre la registrazione aperta), potrebbe agire come un utente autorizzato e ottenere l’accesso a un account cliente.
La falla è stata valutata 7,1 su 10 (gravità elevata). Per mantenere la giusta prospettiva: si tratta di un problema di accesso agli account, che di per sé non consegna a un aggressore il vostro server né un account amministratore, e non vi è alcuna indicazione di sfruttamento attivo (non figura nel catalogo delle Known Exploited Vulnerabilities di CISA, e non sono a conoscenza di alcuna segnalazione di sfruttamento). Se la mia email ha citato questo problema, significa che la versione segnalata dal vostro sito rientra nell’intervallo interessato. Non ho verificato se il vostro sito in particolare sia sfruttabile, ma solo che segnala una versione interessata.
La buona notizia: l’aggiornamento alla versione corretta chiude il problema, e l’aggiornamento è semplice.
Come verificare la vostra versione
Non dovete credermi sulla parola riguardo alla versione che state utilizzando.
Dal manifesto pubblico (nessun accesso necessario): aprite
yourdomain.com/wp-content/plugins/wallet-system-for-woocommerce/README.txt in un browser.
Notate che questo plugin distribuisce il suo readme come README.txt (in maiuscolo), a
differenza di molti plugin che usano un readme.txt minuscolo. La riga Stable tag:
vicino all’inizio è la versione segnalata dalla vostra installazione, ed è lo stesso file
pubblico che ho letto.
Dall’area di amministrazione di WordPress (se avete accesso):
- Accedete alla vostra bacheca di WordPress (di solito all’indirizzo
yourdomain.com/wp-admin). - Andate su Plugin poi Plugin installati.
- Cercate Wallet System for WooCommerce e annotate la versione indicata sotto il suo nome.
Applicate poi questa regola, tenendo presente che le versioni si confrontano numericamente, non alfabeticamente:
- Qualsiasi versione inferiore alla 2.7.6: interessata, aggiornate subito. Tutte le release precedenti contengono la falla; non esiste una versione più vecchia sicura.
- 2.7.6 o successiva, incluse la 2.7.7 e la 2.7.8: già corretta.
- Non lasciatevi ingannare dall’ordinamento testuale: la
2.5.11è una release successiva rispetto alla2.5.9, perché 11 è maggiore di 9. Confrontate ogni numero uno alla volta invece di leggere la versione come testo (entrambi gli esempi sono inferiori alla 2.7.6 e quindi interessati; il punto è come leggere i numeri di versione in generale).
Come aggiornare
Il percorso più sicuro è aggiornare tramite WordPress stesso, effettuando prima un backup:
- Eseguite il backup del vostro sito (file e database) prima di apportare modifiche. La maggior parte dei provider di hosting offre backup con un clic, oppure usate un plugin di backup per WordPress.
- Nell’amministrazione di WordPress, andate su Bacheca poi Aggiornamenti, oppure Plugin poi Plugin installati. Se un aggiornamento di Wallet System for WooCommerce è elencato, installatelo da qui.
- Se preferite la riga di comando, WP-CLI fa la stessa cosa:
wp plugin update wallet-system-for-woocommerce. - Se nessun aggiornamento compare, potete scaricare l’ultima versione direttamente dalla pagina del plugin nella directory WordPress.org, Wallet System for WooCommerce, e aggiornare tramite Plugin poi Aggiungi nuovo plugin poi Carica plugin.
- Dopo l’aggiornamento, confermate il nuovo numero di versione (2.7.6 o successiva; è consigliata l’ultima 2.7.8) seguendo i passaggi sopra, e verificate che il vostro negozio e le sue funzioni di portafoglio funzionino normalmente.
Già che ci siete, vale la pena confermare che il nucleo di WordPress, WooCommerce e i vostri altri plugin siano aggiornati, poiché lo stesso principio vale per tutti.
Dopo l’aggiornamento
L’aggiornamento alla 2.7.6 o successiva chiude il problema, e per la maggior parte dei negozi questo è tutto ciò che serve. Non vi è alcuna indicazione che questa falla sia stata sfruttata, quindi non è richiesta alcuna risposta di emergenza: non dovete trattare il vostro sito come compromesso, metterlo offline o forzare la reimpostazione delle password.
Poiché la falla potrebbe consentire a una richiesta non autorizzata di agire su un account cliente, un controllo di routine è ragionevole: date un’occhiata alla recente attività degli account e dei portafogli alla ricerca di qualcosa di non familiare, per esempio modifiche al saldo del portafoglio che non avete effettuato voi, richieste di prelievo o di fondi che non riconoscete, o modifiche agli account dei clienti che i vostri clienti non hanno richiesto. Trattatelo come ordinaria manutenzione, del tipo che un negozio svolge periodicamente, non come risposta a un incidente. Se qualcosa dovesse risultare anomalo, valgono i passaggi consueti (reimpostate la password del cliente interessato ed esaminate insieme l’attività), e potete contattarmi per qualsiasi domanda.
Cosa ho fatto e cosa non ho fatto
Per essere pienamente trasparente riguardo al controllo dietro la mia email: ho letto soltanto
file pubblici che il vostro sito fornisce già a ogni visitatore, nello specifico il file
pubblico README.txt del plugin e la vostra homepage. Non ho avuto accesso alla vostra
area di amministrazione di WordPress, al vostro database o ad alcuna parte privata del sito. In
particolare, non ho toccato l’endpoint vulnerabile, e non ho testato né sfruttato alcunché.
Si tratta di un’osservazione basata sulla versione: il vostro sito segnala una versione nell’intervallo interessato. Un sito in quell’intervallo potrebbe essere già protetto con altri mezzi (per esempio un web application firewall, o una correzione retroportata), quindi questo avviso non è un’affermazione che il vostro sito fosse sfruttabile nel momento in cui ho effettuato il controllo.
Non ho un webmaster / sono bloccato
Se non siete la persona che gestisce il sito, inoltrate questa pagina a chi lo fa (il vostro sviluppatore web, la vostra agenzia o il vostro provider di hosting). Riconosceranno rapidamente i passaggi sopra.
Se gestite il sito da soli e vi bloccate, sarò lieto di aiutarvi a orientarvi nella direzione giusta senza alcun costo. Contattatemi usando i recapiti sottostanti.
Contatti
Evan Harris, Ricercatore di sicurezza
- Email: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
Contatto gli operatori riguardo a problemi come questo unicamente per aiutarli a mettere in sicurezza i loro siti. Se preferite non essere contattati di nuovo, ditemelo e rispetterò la vostra richiesta.
Riferimenti
Avvisi ufficiali e tracciamento
Fornitore / plugin