Avviso di sicurezza Simple Membership
Se hai ricevuto un’email da parte mia che ti rimanda a questa pagina, è perché il tuo sito sembra
eseguire una versione di Simple Membership (il plugin di iscrizione per WordPress di smp7 /
wp.insider, che si trova nei tuoi file in /wp-content/plugins/simple-membership/) che rientra
nell’intervallo interessato da un noto problema di sicurezza. Questa pagina spiega di cosa si
tratta, come verificare quale versione hai, come aggiornare e quale passo successivo conta di più
dopo l’aggiornamento.
Il problema è CVE-2026-15930, una presa di controllo non autenticata di un account amministratore attraverso il modulo di registrazione all’iscrizione dello stesso plugin. Interessa ogni versione precedente alla 4.7.8 ed è risolto nella 4.7.8. Se stai eseguendo una versione precedente alla 4.7.8, aggiorna Simple Membership alla 4.7.8 o successiva (la 4.7.9 è arrivata dopo e mantiene la correzione, quindi va bene anche quella).
Una cosa va chiarita, perché differisce da alcuni degli altri avvisi che ho inviato: non esiste una versione precedente che sia sicura. Non si tratta di una falla introdotta a un certo punto e poi corretta. Era presente nel plugin sin dalla sua prima versione pubblicata, fino alla 4.7.7 compresa, quindi “la mia installazione è troppo vecchia per essere interessata” non è una via d’uscita in questo caso. Le uniche versioni non interessate sono la 4.7.8 e successive.
Questo avviso inoltre non dipende da come è configurato il tuo sito. Non c’è alcuna
impostazione da attivare: quando il plugin è attivo pubblica una pagina membership-registration
che contiene il suo modulo di registrazione, quindi un’installazione standard espone il modulo ai
visitatori che non hanno effettuato l’accesso. Se la tua versione è precedente alla 4.7.8, vale la
pena effettuare l’aggiornamento tempestivamente.
Si tratta di una falla del plugin, non di una falla del core di WordPress. Un WordPress completamente aggiornato non ti protegge se il plugin Simple Membership stesso è su una versione interessata.
Questo messaggio è legittimo?
Sì. Si tratta di un avviso di divulgazione responsabile e di buona fede da parte di un ricercatore di sicurezza indipendente. Io non ti chiedo denaro, password o accesso al tuo sito, e non ho tentato di entrarci, di inviare nulla ad esso o di sfruttare nulla.
Ho solo esaminato i file visibili pubblicamente che il tuo sito web serve a ogni visitatore (allo stesso modo in cui la tua homepage è pubblica) e ho annotato il numero di versione che il plugin rende noto. In particolare non ho inviato il tuo modulo di registrazione né gli ho inviato nulla, e nulla in questa verifica tocca i tuoi dati, la tua area di amministrazione o qualsiasi parte privata del tuo sito (maggiori dettagli sotto Cosa ho fatto e cosa non ho fatto di seguito).
Se desideri verificare chi sono, consulta i dettagli di contatto in fondo a questa pagina e la pagina Chi sono.
Perché è importante
Simple Membership aggiunge livelli di iscrizione e contenuti protetti a un sito WordPress, e offre ai visitatori un modulo di registrazione pubblico in modo che possano iscriversi da soli. Quel modulo è il punto di ingresso in questo caso.
Nelle versioni interessate, il plugin non verificava se WordPress avesse effettivamente creato il nuovo account prima di procedere a salvare i dati inviati. Quando l’iscrizione richiesta non poteva essere creata come un utente realmente nuovo perché il nome scelto entrava in conflitto con un account già esistente, il plugin proseguiva comunque e scriveva i dati inviati su quell’ account esistente. L’effetto pratico: l’indirizzo email e la password digitati nel modulo di registrazione pubblico diventano i dati di accesso di un account già presente sul sito. In pratica l’account che finisce per essere sovrascritto è l’amministratore originale del sito, il che consegna il controllo del sito a chiunque abbia compilato il modulo.
Vale la pena affermare chiaramente due cose. Primo, non è richiesto alcun accesso e nulla deve essere configurato in modo errato: bastano un visitatore anonimo e la pagina di registrazione che il plugin pubblica da solo. Secondo, il risultato è il controllo amministrativo e non una fuga di dati limitata, motivo per cui la raccomandazione qui è di aggiornare tempestivamente piuttosto che inserirlo nella prossima finestra di manutenzione.
Lo descrivo al livello di dettaglio necessario a un proprietario del sito per agire, e non oltre. Non sto pubblicando i dettagli che permetterebbero a qualcuno di riprodurlo, e ti chiedo di non provarlo contro il tuo sito o contro quello di chiunque altro. Leggere il tuo numero di versione, come descritto di seguito, ti dice tutto ciò che devi sapere per decidere cosa fare.
Se la mia email ha citato questo problema, significa che la versione che il tuo sito riporta è precedente alla 4.7.8. Non ho testato se il tuo sito specifico sia sfruttabile; ho osservato solo la versione.
Sono interessato?
Tutto si riduce a una domanda: quale versione di Simple Membership stai eseguendo? Non devi prendere la mia parola per questo, e ci sono tre modi per verificarlo. A differenza di alcuni plugin di cui scrivo, in questo caso tutti e tre sono affidabili, perché riportano tutti lo stesso numero di versione sottostante.
Dall’area di amministrazione di WordPress (fonte autorevole):
- Accedi alla tua bacheca di WordPress (di solito su
yourdomain.com/wp-admin). - Vai su Plugin poi Plugin installati.
- Trova Simple Membership, la voce la cui cartella è
simple-membership, e annota la versione mostrata sotto il suo nome.
Dal manifesto pubblico (non è necessario il login): apri
yourdomain.com/wp-content/plugins/simple-membership/readme.txt in un browser. La riga
Stable tag: vicino all’inizio è la versione riportata dalla tua installazione, ed è lo
stesso file pubblico che ho letto io.
Dalla sorgente della tua pagina (non è necessario il login): visualizza il codice sorgente di
una pagina qualsiasi del tuo sito e cerca il foglio di stile del plugin, css/swpm.common.css,
sotto /wp-content/plugins/simple-membership/. Il numero ?ver= allegato è la versione del
plugin, ricavata dalla costante di versione dello stesso plugin, quindi per questo plugin è una
lettura affidabile e non un’esca fuorviante.
Poi applica questa regola, notando che le versioni si confrontano numericamente, non alfabeticamente, quindi la 4.7.10 sarebbe più recente della 4.7.8 anche se sembra più piccola come testo:
- Qualsiasi versione precedente alla 4.7.8: interessata. Aggiorna ora. Non esiste una soglia al di sotto della quale una versione più vecchia torni a essere sicura.
- 4.7.8 o successiva: già risolta. Questo include la 4.7.9, che mantiene la correzione.
Una nota sui componenti aggiuntivi di Simple Membership. I componenti aggiuntivi a pagamento
del plugin si installano come plugin separati, nelle proprie cartelle, con le proprie linee di
versione. Il numero di versione di un componente aggiuntivo non dice assolutamente nulla su
questo problema. La versione che conta è quella del plugin principale Simple Membership,
cartella simple-membership, ottenuta da uno qualsiasi dei tre controlli sopra.
Come effettuare l’aggiornamento
Il percorso più sicuro è aggiornare direttamente da WordPress, dopo aver effettuato un backup:
- Esegui il backup del tuo sito (file e database) prima di apportare modifiche. La maggior parte dei provider di hosting offre backup con un solo clic, oppure puoi utilizzare un plugin di backup per WordPress.
- Nell’amministrazione di WordPress, vai su Bacheca quindi Aggiornamenti, oppure Plugin quindi Plugin installati. Se è elencato un aggiornamento per Simple Membership, installalo da qui.
- Se preferisci la riga di comando, WP-CLI fa la stessa cosa:
wp plugin update simple-membership. - Se non appare alcun aggiornamento, puoi ottenere l’ultima versione direttamente dalla pagina del plugin nella directory di WordPress.org, Simple Membership, e aggiornare tramite Plugin quindi Aggiungi nuovo plugin quindi Carica plugin.
- Dopo l’aggiornamento, conferma il nuovo numero di versione (4.7.8 o successivo) utilizzando i passaggi sopra, e verifica che il tuo modulo di registrazione, i livelli di iscrizione e i contenuti protetti funzionino ancora normalmente.
Se utilizzi i componenti aggiuntivi a pagamento di Simple Membership, aggiornali insieme al plugin principale, poiché le loro versioni sono di solito abbinate.
Mentre sei in questa sezione, vale la pena verificare che il core di WordPress e i tuoi altri plugin siano aggiornati, poiché lo stesso principio si applica a tutti loro.
Dopo l’aggiornamento
Aggiornare alla 4.7.8 o successiva risolve il problema. C’è un’azione di follow-up qui che è più importante della normale manutenzione, e vale la pena leggerla anche se sei sicuro che non sia successo nulla.
Il consiglio abituale non basterebbe in questo caso. Quando le persone controllano un sito dopo una falla di presa di controllo, cercano account amministratore nuovi e non familiari. Quel controllo non troverebbe nulla qui, perché non viene creato alcun nuovo account. Un account già esistente viene sovrascritto, quindi il numero di amministratori non cambia e nessun nome sconosciuto compare nell’elenco. Ciò che cambia sono i dati di accesso di un account che già conosci. Quindi:
- Controlla l’indirizzo email di ogni account amministratore. Nell’amministrazione di WordPress, vai su Utenti, filtra per Amministratore, e conferma che ciascuno abbia ancora l’indirizzo email che dovrebbe avere. Un account amministratore il cui indirizzo email non è più quello della persona giusta è il segnale rivelatore di questo problema.
- Reimposta le password dei tuoi account amministratore, e di qualsiasi altro account rilevante. Fallo anche se tutti gli indirizzi email sembrano corretti.
- Rigenerare le chiavi segrete e i salt di WordPress in
wp-config.phpè un passaggio complementare sensato (i nuovi valori sono a un clic di distanza dal generatore ufficiale di chiavi segrete; il loro scambio disconnette tutti gli utenti una volta).
Nota che l’aggiornamento chiude la falla, ma non annulla l’accesso che era già stato ottenuto. Se qualcuno aveva preso il controllo di un account prima che tu aggiornassi, continua a possedere quei dati di accesso in seguito, motivo esatto per cui la reimpostazione della password sopra è importante. Se trovi qualcosa che ti preoccupa, trattalo come faresti con qualsiasi altro accesso non autorizzato sospetto.
Non ho alcuna visibilità su ciò che è effettivamente accaduto sul tuo sito, e non ho effettuato controlli in tal senso. Questo è un avviso precauzionale, non un rapporto di incidente.
Cosa ho fatto e cosa non ho fatto
Per essere pienamente trasparente riguardo al controllo dietro la mia email: ho letto solo due
file pubblici che il tuo sito serve già a ogni visitatore, in particolare il file pubblico
readme.txt del plugin e la tua homepage. Non ho avuto accesso alla tua area di
amministrazione di WordPress, al tuo database o a qualsiasi parte privata del sito.
In particolare, non ho mai inviato il tuo modulo di registrazione né gli ho inviato nulla. Non è stato inviato, testato o sfruttato nulla. Questo è più importante qui che nella maggior parte di queste pagine, perché il modulo di registrazione è esattamente ciò a cui riguarda questo problema, quindi “non l’ho toccato” è l’intera differenza tra una divulgazione e un’intrusione.
Sto anche deliberatamente non pubblicando i dettagli che potrebbero aiutare qualcuno ad agire su questo problema. La descrizione sopra si ferma al livello di cui ha bisogno un proprietario del sito, e non collego alcun codice proof-of-concept.
Questa è un’osservazione basata sulla versione: il tuo sito riporta una versione precedente alla 4.7.8. Un sito in quell’intervallo potrebbe già essere protetto da altri mezzi, come un firewall per applicazioni web o una correzione retroportata. Questo avviso non è un’affermazione che il tuo sito fosse sfruttabile al momento del mio controllo.
Non ho un webmaster / Sono bloccato
Se non sei la persona che mantiene il sito, per favore inoltra questa pagina a chi se ne occupa (il tuo sviluppatore web, agenzia o provider di hosting). Riconosceranno rapidamente i passaggi sopra.
Se stai mantenendo il sito da solo e ti blocchi, sono felice di aiutarti indicandoti la direzione giusta senza costi. Contattami utilizzando i dettagli di contatto di seguito.
Contatti
Evan Harris, Ricercatore di sicurezza
- Email: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
Mi metto in contatto riguardo a problemi come questo puramente per aiutare gli operatori a proteggere i loro siti. Se preferisci non essere contattato di nuovo, fammelo sapere e lo rispetterò.
Riferimenti
Avvisi ufficiali e tracciamento
Fornitore / plugin