Una vulnerabilità in WPForms, un plugin per WordPress con oltre 6 milioni di siti web clienti, potrebbe consentire agli utenti di emettere rimborsi Stripe arbitrari o di annullare abbonamenti.
“La vulnerabilità nel plugin WPForms è l’ennesima dimostrazione di come si stia ampliando sempre più la superficie di attacco dei siti basati sul popolare Cms“, commenta Pierluigi Paganini, analista di cyber security e CEO Cybhorus.
““Questa vulnerabilità nel plugin, che consente potenzialmente di effettuare rimborsi non autorizzati tramite Stripe, rappresenta un chiaro esempio dei rischi legati alla gestione della sicurezza nei sistemi complessi come WordPress”, evidenzia Sandro Sana, Cybersecurity Division Manager.
“La vulnerabilità scoperta dal ricercatore vullu164 è particolarmente critica per due motivi”, afferma Enrico Morisi, Ict Security Manager. Ecco quali e come proteggersi urgentemente, dal momento che la patch è già disponibile.
Indice degli argomenti
Falla in WPForms: i rischi
Nota con il nome in codice CVE-2024-11205, la falla rappresenta un problema ad alta gravità a causa del prerequisito di autenticazione. Tuttavia, poiché i sistemi di iscrizione sono presenti nella maggior parte dei siti, lo sfruttamento potrebbe risultare abbastanza facile nella maggior parte dei casi.
Infatti vullu164 è una falla critica “perché, da un lato, potrebbe essere facilmente sfruttata (basta infatti possedere le credenziali di accesso di un semplice iscritto ai servizi incriminati, senza essere accreditati di particolari autorizzazioni), dall’altro, perché le tecnologie affette hanno una vasta diffusione, oltre 6 milioni di siti web, dei quali la stessa Wordpress.org attesta che almeno la metà non siano ancora stati opportunamente aggiornati”, spiega Morisi.
Il problema riguarda WPForms dalla versione 1.8.4 fino alla 1.9.2.1. La patch nella versione 1.9.2.2 è stata rilasciata il mese scorso.
“Una falla in un popolare plugin può rappresentare un vettore di attacco privilegiato per campagne massive che possono avere molteplici finalità criminali”, mette in guardia Paganini.
WPForms è un costruttore di moduli WordPress drag-and-drop facile da usare per la creazione di moduli di contatto, feedback, iscrizione e pagamento, con supporto per Stripe, PayPal, Square e altri.
“Sempre più spesso apprendiamo di vulnerabilità presenti in plugin che molti siti installano senza peraltro utilizzarli correttamente”, evidenzia Paganini.
Il plugin è disponibile sia in versione premium (WPForms Pro) che in edizione gratuita (WPForms Lite). Quest’ultima è attiva su oltre sei milioni di siti WordPress. A causa di queste cifre, “può consentire agli utenti con privilegi di abbonato di emettere rimborsi su Stripe o annullare abbonamenti. Dunque è chiaro il grave impatto su larga scala della falla“, avverte Paganini.
I dettagli
La vulnerabilità deriva dall’uso improprio della funzione “wpforms_is_admin_ajax()” per determinare se una richiesta è una chiamata AJAX dell’amministratore.
Sebbene questa funzione verifichi se la richiesta proviene da un percorso di amministrazione, non applica controlli di capacità per limitare l’accesso in base al ruolo o ai permessi dell’utente.
Ciò consente a qualsiasi utente autenticato, anche agli abbonati, di invocare funzioni AJAX sensibili come “ajax_single_payment_refund()”, che esegue i rimborsi di Stripe, e “ajax_single_payment_cancel()”, che annulla gli abbonamenti.
“Considerando” che questo CMS è alla base di oltre il 40% dei siti web mondiali, il suo ecosistema di plugin e componenti di terze parti richiede una manutenzione costante e attenta. Un aggiornamento mancato o una configurazione errata possono diventare una porta d’accesso per gli attori malevoli, esponendo i proprietari dei siti a danni economici e a una perdita di fiducia da parte dei clienti”, mette in guardia Sandro Sana.
Le conseguenze dello sfruttamento di CVE-2024-11205 potrebbero essere gravi per i proprietari di siti web, con conseguente perdita di entrate, interruzione dell’attività e problemi di fiducia con la loro base di clienti.
Come proteggersi dalla falla in WPForms
Il ricercatore di sicurezza “vullu164” ha scoperto la falla e l’ha segnalata al programma bug bounty di Wordfence in cambio di un pagamento di 2.376 dollari l’8 novembre scorso.
Wordfence ha successivamente convalidato la segnalazione e confermato l’exploit, inviando i dettagli completi al fornitore, Awesome Motive, il 14 novembre.
Il 18 novembre Awesome Motive ha rilasciato la versione 1.9.2.2 corretta, aggiungendo controlli di capacità e meccanismi di autorizzazione nelle funzioni AJAX interessate.
Secondo le statistiche di wordpress.org, circa la metà di tutti i siti che utilizzano WPForms non sono nemmeno sull’ultimo ramo di release (1.9.x), quindi il numero di siti web vulnerabili è di almeno 3 milioni.
“È fondamentale per gli amministratori dei siti web censire i plugin installati e verificare che il CMS e i plugin siano sempre aggiornati“, conclude Paganini: “Il suggerimento è quello di installare solo plugin che offrono funzionalità realmente necessarie, riducendo la superficie di attacco“.
Wordfence non ha ancora rilevato uno sfruttamento attivo di CVE-2024-11205. Ma si consiglia di aggiornare il prima possibile alla versione 1.9.2.2 o di disabilitare il plugin dal proprio sito.
“Questa situazione sottolinea l’importanza di adottare strategie di sicurezza proattive:
- monitoraggio continuo delle vulnerabilità;
- aggiornamenti tempestivi e controlli regolari di sicurezza dovrebbero essere parte integrante della gestione quotidiana dei siti web.
La sicurezza non è un processo statico, ma una pratica continua che richiede consapevolezza e investimenti da parte di chi gestisce piattaforme digitali”, conclude Sandro Sana.
La prevenzione
Per prevenire o, eventualmente, mitigare i rischi connessi a vulnerabilità di questo tipo occorre infatti “implementare innanzitutto programmi efficaci di sviluppo sicuro del software e poi definire e collaudare opportuni processi di Vulnerability management“, conferma Morisi: “Si tratta di tematiche centrali dell’information security, ma anche di sfide estremamente complesse da affrontare per la maggior parte delle organizzazioni”.
Per quanto riguarda lo sviluppo del software, con riferimento all’Italia, “spesso avviene in contesti dove il core business è tutt’altro (per esempio applicazioni custom sviluppate dal dipartimento IT di realtà produttive) e l’introduzione di programmi di sviluppo sicuro è tipicamente ‘mal digerito’ perché considerato un costo aggiuntivo ‘ingiustificato’, un fattore di rallentamento nella soddisfazione dei requisiti di business e un elemento di ulteriore complessità in aree normalmente costituite da poche persone”, mette in guardia Morisi.
D’altro canto, anche la gestione delle vulnerabilità incontra spesso notevoli difficoltà, “non fosse altro per il fatto che, se pensiamo a quelle del codice e alle conseguenti attività di patching (quando possibili) esse comportano quasi sempre un’interruzione temporanea di servizi e una gestione dei potenziali impatti, avvalendosi anche di opportuni landscape di sviluppo e test”, continua Morisi: “Infatti in genere non sono gli zero-day o le vulnerabilità accompagnate da exploit complessi a rappresentare i rischi più elevati per una data organizzazione, ma quelle note di cui è già disponibile una patch, magari da mesi o addirittura anni, patch che non è mai stata applicata, ad esempio, perché non si conosce l’esistenza della vulnerabilità stessa o del sistema coinvolto, o perché è ‘sepolta’ in un paniere di n altre patch da applicare, senza che siano state definite delle priorità sulla base del contesto (il CVSS non è sufficiente) e quindi del rischio sotteso, analisi fondamentale al fine di identificare con precisione il reale impatto sull’organizzazione che, è bene ricordarlo, non è mai statico ma può variare nel tempo”, conclude Enrico Morisi.