Se hai ricevuto un’email da parte mia che ti rimanda a questa pagina, è perché il tuo sito sembra eseguire una versione di Profile Builder (il plugin WordPress elencato su WordPress.org come “Profile Builder” / “User Profile Builder”, di Cozmoslabs, che si trova nei tuoi file in /wp-content/plugins/profile-builder/) che rientra nell’intervallo interessato da un noto problema di sicurezza. Questa pagina spiega di cosa si tratta, come stabilire se riguarda il tuo sito, come leggere la tua versione senza essere fuorviato e come procedere all’aggiornamento.

Nota bene: questo non è ProfilePress. Esiste un diverso plugin WordPress con un nome simile (ProfilePress, cartella wp-user-avatar), di cui scrivo separatamente. Se la cartella del tuo plugin è wp-user-avatar anziché profile-builder, questa non è la pagina che cerchi: consulta invece l’avviso su ProfilePress. Tutto quanto segue riguarda esclusivamente Profile Builder di Cozmoslabs.

Prima di tutto, il fatto più importante di questo avviso: una versione nell’intervallo interessato non significa di per sé che il tuo sito sia esposto. Il problema descritto di seguito entra in gioco solo sui siti che hanno attivato un’impostazione specifica, e non posso vedere le tue impostazioni dall’esterno:

  • L’opzione “Automatically Log In” di Profile Builder, che accede automaticamente con un nuovo utente subito dopo il completamento della registrazione, deve essere attivata.
  • Quell’opzione è disattivata per impostazione predefinita. Un sito che non l’ha mai attivata non è esposto a questo problema, anche su una versione interessata.

Posso leggere la versione del tuo plugin da un file pubblico, ma non posso leggere la tua configurazione, quindi questo avviso è un avvertimento precauzionale piuttosto che una scoperta confermata riguardante il tuo sito.

Il problema è CVE-2026-15368, un’acquisizione di account non autenticata nel passaggio di accesso automatico del plugin. Interessa le versioni dalla 2.1.4 alla 3.16.3 ed è risolto nella versione 3.16.4. Se stai eseguendo una versione interessata, aggiorna Profile Builder alla versione 3.16.4 o successiva. Ha un punteggio CVSS di 8.1. Non sono a conoscenza di alcun codice di exploit pubblico per questo problema.

Una parola sull’urgenza, poiché si tratta di un avviso condizionato. Se non usi l’accesso automatico dopo la registrazione, l’aggiornamento è una normale manutenzione del plugin. Se lo usi, ti prego di trattare l’aggiornamento come una priorità: in quella configurazione la falla potrebbe permettere a un visitatore senza alcun account di ottenere una sessione già autenticata appartenente a un utente esistente di cui conosce l’indirizzo email, incluso un amministratore, il che consegnerebbe il controllo del sito.

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 Profile Builder 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 registrarmi 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, non ho creato un account e non mi sono avvicinato al passaggio di accesso automatico. 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

Profile Builder aggiunge a un sito WordPress moduli front-end di registrazione, accesso e modifica del profilo, così i visitatori possono registrarsi e gestire il proprio account senza mai vedere l’area di amministrazione. Una delle sue comodità è l’opzione di accedere automaticamente con un nuovo utente non appena la sua registrazione è completata, evitandogli di digitare di nuovo la password su un modulo di accesso separato.

Nelle versioni interessate, questa comodità decideva quale account far accedere nel modo sbagliato. Invece di usare l’account appena creato, il plugin cercava un account in base all’indirizzo email digitato nel modulo di registrazione, e faceva accedere con quello. Se l’indirizzo inviato apparteneva a qualcuno che aveva già un account sul sito, chi compilava il modulo si ritrovava con una sessione già autenticata per quell’account esistente.

Da ciò derivano due conseguenze, che tirano in direzioni opposte. La prima è che questo accade solo dove l’accesso automatico è attivato. Con l’impostazione disattivata, il plugin non avvia mai il passaggio di accesso automatico, quindi un sito in quello stato non è raggiungibile attraverso questo problema. La seconda è che dove l’impostazione è attivata, nulla limita la conseguenza ai membri ordinari: l’account che viene consegnato è quello che corrisponde all’indirizzo inviato, e l’indirizzo di un amministratore di solito non è un segreto. Non è richiesto alcun account, nessuna password e nessuna collaborazione da parte della vittima.

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. Verificare la tua impostazione e la tua 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 rientra nell’intervallo interessato. Non ho testato se il tuo sito specifico sia sfruttabile, e non posso vedere come sono configurate le tue impostazioni. Ho osservato solo la versione.

Sono interessato?

Due domande decidono la questione, in questo ordine.

Primo: “Automatically Log In” è attivato?

Questa è la domanda decisiva, e solo tu puoi rispondere. Controllare le tue impostazioni è completamente sicuro ed è proprio lo scopo di questa pagina.

  1. Accedi alla bacheca di WordPress (di solito su yourdomain.com/wp-admin).
  2. Apri il menu Profile Builder nella barra laterale, poi vai su Settings.
  3. Cerca l’interruttore etichettato Automatically Log In, descritto come “Enable to automatically log in new users after successful registration”.
  • Se quell’interruttore è disattivato, questo problema non raggiunge il tuo sito, anche su una versione interessata. Aggiornare vale comunque la pena come normale manutenzione.
  • Se è attivato, il problema ti riguarda e dovresti aggiornare tempestivamente.

Un altro punto da controllare, se hai più di una pagina di registrazione: una singola pagina che contiene un modulo di registrazione Profile Builder può avere una propria copia di quell’impostazione, che sovrascrive quella globale. Se gestisci diverse pagine di registrazione, vale la pena controllarle tutte anziché fare affidamento solo sull’interruttore globale.

Ti prego di non provare a riprodurre il problema contro il tuo sito o contro quello di chiunque altro; non ne hai bisogno per rispondere alla domanda sopra.

Secondo: quale versione stai eseguendo?

Non devi prendere la mia parola per questo. Per questo plugin c’è un modo specifico di verificare che potrebbe fuorviarti, quindi vale la pena leggere questa parte con attenzione.

Dall’area di amministrazione di WordPress (fonte autorevole):

  1. Nella bacheca di WordPress, vai su Plugins poi Installed Plugins.
  2. Trova Profile Builder, la voce la cui cartella è profile-builder, e annota la versione mostrata sotto il suo nome.

Dal manifesto pubblico (non serve accedere): apri yourdomain.com/wp-content/plugins/profile-builder/readme.txt in un browser. La riga Stable tag: vicino all’inizio è la versione che il tuo sito riporta, ed è una delle due fonti pubbliche che leggo.

Dalla sorgente della tua pagina (non serve accedere): visualizza il codice sorgente di una pagina del tuo sito che mostra un modulo Profile Builder, e cerca il foglio di stile front-end del plugin esattamente in questo percorso:

/wp-content/plugins/profile-builder/assets/css/style-front-end.css?ver=...

Il numero ?ver= allegato a quel singolo file è la versione del plugin stesso. Per questo plugin segue il rilascio esattamente, motivo per cui lo considero una seconda lettura affidabile.

La trappola da evitare qui, ed è facile caderci. Profile Builder include altri componenti all’interno della propria cartella del plugin, e questi hanno un proprio numero di versione scollegato. Il componente aggiuntivo gratuito user-profile-picture incluso, sotto add-ons-free/user-profile-picture/, è rimasto fermo a 2.6.0 attraverso diverse versioni di Profile Builder senza muoversi, e c’è un’integrazione Divi inclusa sotto assets/misc/divi/ numerata 1.0.0. Entrambi questi numeri sembrano allarmantemente vecchi rispetto a 3.16.4, e nessuno dei due dice nulla riguardo a questo problema. Se stai leggendo una versione dalla sorgente della tua pagina, assicurati che il percorso del file da cui la leggi sia assets/css/style-front-end.css e nient’altro.

Poi applica questa regola, notando che le versioni si confrontano numericamente, non alfabeticamente, quindi 3.10.0 è più recente di 3.9.9 anche se sembra più piccolo come testo. Questo plugin percorre davvero ogni linea di rilascio da .0 a .9 prima di passare alla successiva, quindi questa distinzione conta qui:

  • Dalla 2.1.4 alla 3.16.3: potenzialmente interessato, soggetto alla domanda sull’impostazione sopra. Aggiorna ora.
  • 3.16.4 o successiva: già risolto per quanto riguarda questo problema. La versione attuale al momento della stesura è la 3.16.6, e prendere l’ultima versione disponibile è la mossa migliore.
  • Precedente alla 2.1.4: non interessato da questo problema. Il difetto specifico descritto sopra è stato introdotto nella 2.1.4, quindi le installazioni davvero più vecchie sono fuori dal suo intervallo. Detto questo, una versione così vecchia è molto indietro su tutto il resto, e l’aggiornamento è utile per motivi generali.

Se non riesci a ottenere una versione leggibile da nessuno dei tre controlli sopra, è comune con questo plugin e non è un segnale di nulla: il foglio di stile viene caricato solo sulle pagine che mostrano effettivamente uno dei suoi moduli, e i plugin di caching o ottimizzazione rimuovono regolarmente il valore ?ver=. La schermata di amministrazione al primo punto ha sempre la risposta.

Come effettuare l’aggiornamento

La procedura più sicura è aggiornare direttamente da WordPress, dopo aver effettuato un backup:

  1. 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.
  2. Nell’amministrazione di WordPress, vai su Dashboard quindi Updates, oppure Plugins quindi Installed Plugins. Se è elencato un aggiornamento per Profile Builder, installalo da qui.
  3. Se preferisci la riga di comando, WP-CLI fa la stessa cosa: wp plugin update profile-builder (il comando utilizza il nome della cartella).
  4. Se non appare alcun aggiornamento, puoi ottenere l’ultima versione direttamente dalla pagina del plugin nella directory di WordPress.org, Profile Builder, e aggiornare tramite Plugins quindi Add New Plugin quindi Upload Plugin.
  5. Dopo l’aggiornamento, conferma il nuovo numero di versione (3.16.4 o successivo) utilizzando i passaggi sopra e verifica che i tuoi moduli di registrazione, accesso e modifica del profilo funzionino ancora normalmente.

Se utilizzi uno dei componenti aggiuntivi a pagamento di Profile Builder di Cozmoslabs, aggiornali insieme al plugin principale, poiché le loro versioni sono di solito abbinate.

Mentre sei in questa sezione, vale la pena verificare che WordPress core e i tuoi altri plugin siano aggiornati, poiché lo stesso principio si applica a tutti loro.

Dopo l’aggiornamento

L’aggiornamento alla versione 3.16.4 o successiva risolve il problema e, per la maggior parte dei siti, questo è l’unico compito necessario. Questa pagina è un avviso precauzionale, non un rapporto di incidente: non ho visibilità su quanto sia accaduto sul tuo sito e non ho effettuato controlli in tal senso.

Un controllo successivo vale la pena di essere considerato ed è condizionato dalla stessa domanda sull’impostazione. Se il tuo sito aveva Automatically Log In attivato mentre eseguiva una versione interessata, allora era almeno teoricamente possibile che qualcuno si fosse ritrovato con una sessione su un account esistente. L’aggiornamento chiude la falla, ma non annulla l’accesso già ottenuto, quindi in quel caso alcune precauzioni di routine sono consigliabili:

  • Rivedi i tuoi account amministratore e qualsiasi altro account rilevante, per voci che non riconosci, indirizzi email che non appartengono più alla persona giusta o cambi di ruolo che non hai effettuato.
  • Controlla gli accessi recenti e qualsiasi sessione attualmente attiva per verificare eventuali attività non giustificabili.
  • Reimposta le password dei tuoi account amministratore. 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, e il loro scambio disconnette tutti gli utenti una volta).

Se trovi qualcosa che ti preoccupa, trattarlo come faresti con qualsiasi altro accesso non autorizzato sospetto è la risposta corretta. Se il tuo sito non ha mai avuto l’accesso automatico attivato, l’aggiornamento da solo è sufficiente.

Cosa ho fatto e cosa non ho fatto

Per essere pienamente trasparente riguardo al controllo dietro la mia email: ho letto solo i file che il tuo sito serve già a ogni visitatore, specificamente il readme.txt pubblico del plugin, la tua homepage e gli indirizzi delle risorse scritti in quella pagina. Non ho avuto accesso all’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, non ho mai creato un account e non ho mai toccato il passaggio di accesso automatico. Non è stato inviato, testato o sfruttato nulla. Questo è più importante qui che nella maggior parte di queste pagine, perché registrarsi è esattamente l’azione a cui riguarda questo problema, quindi “non l’ho toccato” è la differenza totale 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 segnala una versione nell’intervallo interessato. Non è un’affermazione che il tuo sito fosse sfruttabile al momento del mio controllo. Poiché il problema dipende da un’impostazione che non posso vedere, un sito in quell’intervallo potrebbe non essere affatto esposto, e un sito in quell’intervallo potrebbe essere separatamente protetto da altri mezzi come un firewall per applicazioni web o una correzione retroportata.

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 indicando la direzione giusta senza costi. Contattami utilizzando i dettagli di contatto di seguito.

Contatti

Evan Harris, Ricercatore di sicurezza

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