
Se il tuo negozio WooCommerce usa il plugin Product Gallery Slider & Additional Variation Images for WooCommerce e hai utenti con ruolo Shop Manager, devi aggiornare alla versione 2.3.26. La vulnerabilità CVE-2026-120318 permette a uno Shop Manager di leggere, sovrascrivere o cancellare qualsiasi opzione di WordPress, compresa quella che definisce i ruoli, e di promuoversi ad amministratore. Non è un attacco da anonimo, ma in un e-commerce con collaboratori, agenzie o dipendenti che gestiscono gli ordini è un rischio concreto.
Cosa è successo: la vulnerabilità CVE-2026-120318 in Product Gallery Slider per WooCommerce
Il plugin include il framework di opzioni Codestar, che espone tre azioni AJAX per il backup delle impostazioni: csf-export, csf-import e csf-reset. Queste azioni verificano solo un nonce (csf_backup_nonce) e non controllano la capability dell'utente. Il nonce è leggibile nella pagina delle impostazioni, a cui uno Shop Manager ha accesso. Il parametro unique, che dovrebbe indicare il set di opzioni del plugin, viene passato direttamente a get_option, update_option e delete_option. Risultato: un utente con privilegi limitati può operare su qualunque opzione del database. Si tratta di una vulnerabilità di tipo missing authorization.
Chi è colpito: versioni vulnerabili di Product Gallery Slider per WooCommerce
- Prodotto: Product Gallery Slider & Additional Variation Images for WooCommerce (slug woo-product-gallery-slider).
- Versioni vulnerabili: dalla 2.3.23 fino alla 2.3.25 inclusa.
- Versione corretta: 2.3.26.
La condizione necessaria è la presenza di almeno un account con ruolo Shop Manager, o comunque di un utente autenticato che possa aprire la pagina delle impostazioni del plugin e leggere il nonce. Se il sito ha un solo amministratore e nessun altro utente di back office, l'esposizione pratica è ridotta, ma l'aggiornamento resta dovuto.
Quanto è grave: punteggio CVSS e sfruttamento attivo di CVE-2026-120318
Il punteggio CVSS 4.0 è 8.6, gravità alta. Vettore: AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H. In pratica: attacco via rete, complessità bassa, nessuna interazione da parte di altri utenti, ma servono privilegi elevati (PR:H), cioè un account Shop Manager. L'impatto è alto su riservatezza, integrità e disponibilità.
Cosa ottiene l'attaccante:
- lettura di qualsiasi opzione di WordPress tramite csf-export (configurazioni, chiavi API salvate nelle opzioni, impostazioni di pagamento);
- sovrascrittura di opzioni tramite csf-import, incluso wp_user_roles, per assegnare al proprio ruolo le capability di amministratore;
- cancellazione di opzioni tramite csf-reset, con possibile blocco del sito.
Al momento la vulnerabilità non risulta nel catalogo CISA KEV: non ci sono conferme pubbliche di sfruttamento attivo. L'exploit però è semplice e il codice vulnerabile è pubblico, quindi non conviene aspettare.
Come capire se sei esposto: verifica versione, esposizione e log
Versione del plugin
- Da pannello: Plugin > Plugin installati, cerca "Product Gallery Slider" e leggi il numero di versione.
- Da WP-CLI: wp plugin get woo-product-gallery-slider --field=version
Utenti che possono sfruttarla
- Utenti > Tutti gli utenti, filtra per ruolo Shop Manager.
- Da WP-CLI: wp user list --role=shop_manager e wp user list --role=administrator. Un amministratore che non riconosci è un segnale di compromissione.
Integrità dei ruoli
Controlla l'opzione wp_user_roles con wp option get wp_user_roles oppure con una query sulla tabella wp_options. Se il ruolo shop_manager contiene capability come manage_options, edit_users, install_plugins o edit_plugins, qualcuno lo ha modificato.
Log del web server
Cerca nei log di accesso le chiamate a admin-ajax.php con action=csf-export, action=csf-import o action=csf-reset. Una chiamata legittima usa come unique il nome delle opzioni del plugin; valori come wp_user_roles, siteurl, active_plugins o nomi di opzioni di altri plugin sono indicatori chiari. Se non conservi i log, è il momento di abilitarli: senza log non si ricostruisce nulla.
Come risolvere la vulnerabilità CVE-2026-120318: patch, aggiornamento e rimedio
La correzione è nella versione 2.3.26, disponibile nel repository ufficiale di WordPress.org. Aggiorna da Plugin > Plugin installati > Aggiorna ora, oppure con wp plugin update woo-product-gallery-slider. Il pacchetto si può anche scaricare dal link riportato nelle fonti. Nella 2.3.26 il framework di opzioni è stato ristrutturato e il file delle azioni AJAX si trova in un percorso diverso rispetto alla 2.3.25; i dettagli della modifica sono consultabili nei file di riferimento elencati sotto.
Prima di aggiornare fai un backup di file e database. Dopo l'aggiornamento verifica che la versione installata sia la 2.3.26 e che la galleria prodotti funzioni ancora sul front end.
Cosa fare subito: mitigazioni e hardening per Product Gallery Slider
- Aggiorna il plugin alla 2.3.26. È la misura risolutiva.
- Se non puoi aggiornare subito, disattiva il plugin. Le azioni AJAX vulnerabili vengono registrate solo con il plugin attivo. La galleria tornerà quella standard di WooCommerce per il tempo necessario.
- Riduci gli account Shop Manager al minimo indispensabile. Rimuovi quelli di ex collaboratori e di agenzie che non lavorano più sul sito.
- Ruota le password degli account di back office e attiva l'autenticazione a due fattori. Un account Shop Manager con password debole diventa, con questa falla, un accesso amministrativo.
- Verifica wp_user_roles e la lista amministratori come descritto sopra e ripristina il ruolo Shop Manager ai permessi predefiniti se è stato alterato.
- Limita l'accesso a wp-admin per IP o tramite VPN dove è possibile.
Questi controlli rientrano nella routine che descrivo in 10 controlli di sicurezza per un sito WordPress. Se il sito non ha nessuno che segua gli aggiornamenti, un contratto di manutenzione e assistenza serve proprio a evitare che una patch pubblica resti inapplicata per mesi.
Se sospetti una compromissione: incident response e analisi forense
Se trovi un amministratore sconosciuto, capability anomale nel ruolo Shop Manager o chiamate sospette ad admin-ajax.php, tratta il sito come compromesso. In ordine:
- Non ripulire e non reinstallare subito. Cancellare utenti e file distrugge le prove e impedisce di capire cosa è stato letto o modificato.
- Conserva i log del web server, di PHP e del database, e il database stesso. Esporta una copia integrale prima di qualsiasi intervento.
- Esegui una copia forense di file e database con calcolo degli hash, così da poter ricostruire l'accaduto in modo opponibile, anche verso il fornitore o l'assicurazione.
- Isola l'accesso: metti il sito in manutenzione, revoca le sessioni, cambia le credenziali di WordPress, database, FTP e hosting.
- Valuta la notifica: se l'attaccante ha potuto leggere opzioni con dati di clienti o chiavi di pagamento, può scattare l'obbligo di notifica al Garante ai sensi del GDPR entro 72 ore dalla scoperta.
Come perito informatico forense mi occupo sia dell'analisi che della messa in sicurezza. Un intervento di incident response nello studio parte da 1.500 € e arriva a 6.000 € a seconda della complessità, sempre con preventivo a prezzo fisso. Chi aveva già affrontato il caso del plugin Project Manager sa che il metodo è lo stesso: prima le prove, poi la bonifica.
Fonti ufficiali
- Pagina del plugin su WordPress.org, sezione sviluppatori e changelog
- Pacchetto della versione corretta 2.3.26
- Codice vulnerabile delle azioni AJAX nella 2.3.25
- File Options.php della 2.3.25
- Codice delle azioni AJAX nella 2.3.26
Hai bisogno di una verifica sul tuo e-commerce?
Se non sei sicuro di quale versione hai installato, di quanti utenti possono accedere al back office o se i log mostrano qualcosa di strano, posso controllare il sito e dirti in modo chiaro se è esposto o se è già stato toccato. Richiedi un preventivo gratuito, rispondo entro 24 ore, oppure scrivimi dalla pagina contatti, anche su WhatsApp.


