Se hai ricevuto un’email da parte mia che ti rimanda a questa pagina, è perché il tuo sito web sembra eseguire una versione di Balbooa Forms (il com_baforms di Balbooa, che si trova nei tuoi file in /components/com_baforms/ e /administrator/components/com_baforms/) interessata da un noto problema di sicurezza. Balbooa Forms è un’estensione per la creazione di moduli per il sistema di gestione dei contenuti Joomla. Questa pagina spiega perché questo è importante, come leggere la tua versione in modo affidabile e come risolvere il problema.

Questo avviso riguarda CVE-2026-56291, una falla critica (CVSS 10.0), attivamente sfruttata, che consente l’esecuzione di codice remoto senza autenticazione attraverso la gestione degli allegati ai moduli lato front-end dell’estensione. Interessa ogni versione precedente alla 2.4.1. È stata aggiunta al catalogo Known Exploited Vulnerabilities della U.S. Cybersecurity and Infrastructure Security Agency il 10 luglio 2026.

La versione che risolve questo problema non è la versione a cui aggiornare, ed è la cosa più importante di questa pagina. La 2.4.1, pubblicata il 9 luglio 2026, risolve effettivamente CVE-2026-56291. Ma una seconda falla, separata, nella stessa estensione, CVE-2026-65880, interessa le versioni fino alla 2.4.2.1 compresa. Un operatore che aggiorna alla 2.4.1 o alla 2.4.2 chiude quindi la porta di cui tratta questo avviso ma ne lascia aperta un’altra. Una versione successiva, la 2.4.3.1, è un’ulteriore versione di sicurezza che rafforza lo stesso percorso di caricamento. Quindi: aggiorna a Balbooa Forms 2.4.3.1 o successiva, che è la versione attuale al momento della stesura. Non fermarti alla 2.4.1.

Non esiste una versione precedente che sia sicura. Le protezioni che pongono fine a questo problema sono state aggiunte nella 2.4.1, il che significa che erano assenti da ogni versione precedente. Non si tratta di una falla introdotta a metà della storia dell’estensione: il changelog dello stesso vendor mostra che il percorso di caricamento lato front-end è rimasto in funzione con continuità per tutta la linea 2.0.x e fino alla 1.x, e ho confermato direttamente nel codice sorgente la gestione non protetta nelle versioni 2.1.x, 2.2.0 e 2.3.x. “La mia installazione è troppo vecchia per essere interessata” non è una via d’uscita in questo caso, e in pratica molte delle installazioni interessate che riscontro sono effettivamente vecchie.

Non è necessario che nulla sia abilitato perché questo ti riguardi. L’ipotesi ovvia sarebbe che un sito sia esposto solo se pubblica un modulo che accetta allegati, quindi voglio essere esplicito sul fatto che non è così. Non esiste un’impostazione che porti una versione interessata fuori dall’intervallo, e l’edizione gratuita dell’estensione include lo stesso codice interessato delle edizioni a pagamento, quindi neppure “usiamo solo la versione gratuita” è una via d’uscita. Ciò che conta è semplicemente quale versione stai eseguendo.

Poiché questa falla è stata sfruttata prima che esistesse una correzione, aggiornare da solo non è l’intero compito. Dovresti anche verificare sul tuo sito eventuali segni che qualcuno sia arrivato prima di te (vedi Se eri su una versione interessata di seguito).

Si tratta di una falla dell’estensione, non una falla del core di Joomla. Interessa allo stesso modo i siti su Joomla 4, 5 e 6: un core di Joomla completamente aggiornato non ti protegge se l’estensione Balbooa Forms stessa non è aggiornata.

Questo messaggio è legittimo?

Sì. Si tratta di un avviso di divulgazione responsabile e in 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 caricare nulla o di sfruttare nulla.

Tutto ciò che ho fatto è stato osservare i file che il tuo sito web serve a ogni visitatore (allo stesso modo in cui la tua homepage è pubblica): le tue pagine, gli indirizzi delle risorse front-end dell’estensione scritti al loro interno, e il file di manifest pubblico dell’estensione. Questo è tutto. In particolare non ho toccato la funzionalità di caricamento interessata, non ho inviato alcun modulo sul tuo sito, e non ho richiesto la directory images/baforms/uploads/ sul tuo sito o altrove. Quel percorso compare più avanti in questa pagina solo come luogo in cui tu puoi controllare sul tuo stesso sito. Nulla in questo controllo tocca i tuoi dati, la tua area di amministrazione o qualsiasi parte privata del tuo sito.

Se desideri verificare chi sono, consulta i dettagli di contatto in fondo a questa pagina e la pagina Chi sono.

Perché è importante

Balbooa Forms crea moduli di contatto, moduli di richiesta informazioni e moduli simili sui siti Joomla. Parte di ciò che offre è la possibilità per un visitatore di allegare un file quando invia un modulo.

Nelle versioni interessate, la gestione dietro questa funzionalità può essere raggiunta senza effettuare il login e non verifica correttamente il tipo di file che le viene fornito. Questa combinazione consente a un aggressore di collocare sul tuo server un programma di sua scelta e di eseguirlo: esecuzione di codice remoto completa, senza bisogno di alcun account né di alcuna cooperazione da parte tua.

Questo non è un rischio teorico. La falla ha ricevuto un punteggio di 10.0 su 10, il massimo, ed è attivamente sfruttata. Lo sfruttamento è stato osservato a partire dall’8 luglio 2026, un giorno prima che la correzione fosse pubblicata il 9 luglio 2026, e la U.S. Cybersecurity and Infrastructure Security Agency l’ha aggiunta al suo catalogo Known Exploited Vulnerabilities il 10 luglio 2026. È stata segnalata da Phil Taylor di mySites.guru.

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 riprodurla, e ti chiedo di non provarla 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 riportata dal tuo sito è precedente alla 2.4.1. Non ho verificato se il tuo sito in particolare sia sfruttabile o già compromesso, solo che riporta una versione interessata.

Come verificare la tua versione

Non devi credermi sulla parola riguardo alla versione che stai eseguendo. Ci sono due modi affidabili per verificarlo, e un segnale fuorviante specifico di questa estensione che vale la pena conoscere.

Dall’amministrazione di Joomla (fonte autorevole):

  1. Accedi all’amministrazione di Joomla (di solito su yourdomain.com/administrator).
  2. Vai su Sistema quindi Gestisci quindi Estensioni (oppure Estensioni quindi Gestisci, a seconda della versione di Joomla).
  3. Cerca Balbooa Forms e annota la versione installata.

Dal file manifest su disco: apri

/administrator/components/com_baforms/baforms.xml

e leggi il suo elemento <version>. Questo è ciò che il tuo sito sta effettivamente eseguendo.

Fai attenzione a quale baforms.xml leggi. Un’installazione di Joomla con questa estensione contiene tre file diversi con quel nome, e solo quello al percorso indicato sopra è quello proprio del componente. Le copie in /administrator/manifests/files/ e /plugins/editors-xtd/baforms/ portano numeri di versione propri, molto più vecchi, che non seguono affatto il componente. Leggere una di queste per errore farà risultare la tua versione molto più bassa di quella reale.

Il numero di versione nel codice sorgente della tua pagina non è affidabile. Balbooa Forms imprime un numero di versione sugli indirizzi delle risorse front-end, quindi se visualizzi il codice sorgente di una pagina che contiene un modulo potresti vedere qualcosa come ba-form.js?2.3.0.2. Quel numero non viene letto dai file effettivamente serviti. Proviene dalla copia nel database di Joomla del manifest dell’estensione, che solo il programma di installazione di Joomla aggiorna. Se l’estensione è mai stata aggiornata copiando i file sopra quelli vecchi anziché installandola tramite Joomla, la pagina può mostrare una versione che il sito non sta eseguendo, e può essere sbagliata in entrambe le direzioni: un numero vecchio su file aggiornati, o un numero nuovo su file vecchi. Usa invece la schermata di amministrazione o il file manifest su disco.

Poi applica questa regola:

  • Qualsiasi versione precedente alla 2.4.1: interessata da questo problema. Non esiste una soglia al di sotto della quale una versione precedente torni a essere sicura.
  • 2.4.1 o 2.4.2: risolta per quanto riguarda questo problema, ma ancora interessata da CVE-2026-65880, la falla separata menzionata sopra. Continua a leggere.
  • 2.4.3.1 o successiva: attuale. È qui che vuoi trovarti.

Come effettuare l’aggiornamento

Il percorso più sicuro è aggiornare tramite Joomla stesso, effettuando prima 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 usare un’estensione di backup per Joomla.
  2. Nell’amministrazione di Joomla, apri Estensioni quindi Gestisci quindi Aggiorna, e fai clic su Trova aggiornamenti. Se è elencato un aggiornamento per Balbooa Forms, installalo da qui.
  3. Se non appare alcun aggiornamento, ottieni l’ultima versione direttamente dal vendor, Balbooa, e installala tramite Estensioni quindi Installa. Sia l’edizione gratuita sia le edizioni a pagamento vengono aggiornate tramite il sito stesso del vendor.
  4. Installa tramite Joomla, non copiando i file sopra quelli vecchi. Copiare i file lascia il registro della versione di Joomla non aggiornato, il che è proprio ciò che rende inaffidabile il numero nel codice sorgente della pagina, e può lasciare indietro file vecchi.
  5. Dopo l’aggiornamento, conferma il nuovo numero di versione (2.4.3.1 o successiva) usando i passaggi sopra, e verifica che i tuoi moduli continuino a visualizzarsi e a essere inviati normalmente.

Già che ci sei, vale la pena verificare che Joomla stesso e le tue altre estensioni siano aggiornati, poiché lo stesso principio si applica a tutti loro.

Se eri su una versione interessata

Poiché questa falla è stata sfruttata prima che fosse disponibile una correzione, un sito che eseguiva una versione interessata non dovrebbe presumere che l’aggiornamento sia sufficiente. Aggiornare chiude la porta, ma non ti dice se qualcuno ci fosse già passato. Vale la pena verificarlo con calma, piuttosto che presumere il peggio: la maggior parte dei siti non troverà nulla.

Ecco cosa tu (o il tuo webmaster) puoi cercare sul tuo sito:

  • File PHP inattesi nella directory di caricamento. Cerca file .php ovunque sotto images/baforms/uploads/, incluse tutte le sue sottodirectory. Niente di legittimo mette PHP lì. Su un host Linux, il controllo è:

    find images/baforms/uploads -name '*.php' -type f
    
  • Account amministratore che non riconosci. Rivedi l’elenco degli utenti in Utenti quindi Gestisci. Inoltre controlla le date di registrazione degli account che invece riconosci, poiché un account creato all’inizio di luglio 2026 che pensavi fosse sempre esistito merita un secondo sguardo.
  • File PHP altrove sul sito modificati intorno o dopo l’inizio di luglio 2026, in particolare quelli che non riesci a spiegare.

Se trovi uno di questi elementi, tratta il sito come compromesso: cambia tutte le credenziali (amministrazione Joomla, database, FTP/SSH, pannello di hosting), rivedi gli account utente di Joomla e i gruppi a cui appartengono, e valuta di ripristinare da un backup effettuato prima dell’8 luglio 2026 piuttosto che provare a ripulire il sito sul posto. Ripulire sul posto è difficile da fare correttamente, perché una backdoor lasciata indietro può annullare la pulizia. Se la tua organizzazione dispone di un team di sicurezza IT o di un CERT nazionale, coinvolgili.

Voglio essere chiaro: non ho verificato il tuo sito per nessuno di questi indicatori, e non so se il tuo sito sia stato interessato. Questo elenco è qui perché tu possa controllare da solo.

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 (Balbooa)

Segnalazione e analisi