Avviso di sicurezza powermail
Se hai ricevuto un’email da parte mia che ti rimanda a questa pagina, è perché il tuo sito sembra
eseguire una versione di powermail (l’estensione per moduli di TYPO3 di in2code, pacchetto
Composer in2code/powermail, che si trova nei tuoi file sotto typo3conf/ext/powermail/ o, in
un’installazione Composer, sotto vendor/in2code/powermail/) 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, a quale versione aggiornare e come verificare se qualcuno lo ha
già usato contro di te.
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 nei moduli che hanno un campo contrassegnato come nome del mittente, e non posso vedere dall’esterno come sono configurati i tuoi moduli:
- Il problema riguarda solo un modulo powermail che ha almeno un campo con la casella “Questo campo contiene il nome del mittente” (in inglese: “This field contains the Name of the sender”, nella scheda Esteso del campo, nel backend di TYPO3) selezionata. Se nessuno dei tuoi moduli usa quel contrassegno, questo non ti riguarda, anche su una versione interessata.
- Detto questo, il contrassegno è diffuso. Il campo standard Nome della procedura guidata dei moduli di solito lo imposta, e l’avviso del fornitore stesso definisce la configurazione “comune e vicina all’impostazione predefinita”. Quindi, per favore, verifica invece di dare per scontato.
Posso leggere la versione di powermail da un file pubblico, ma non posso leggere le impostazioni dei tuoi moduli, quindi questo avviso è un avvertimento precauzionale piuttosto che una scoperta confermata riguardante il tuo sito.
Il problema è CVE-2026-77136 (avviso TYPO3 TYPO3-EXT-SA-2026-022), un’iniezione di template lato server non autenticata nella gestione delle mail dell’estensione. Interessa tutte le versioni di powermail precedenti alla 10.9.3, tutte le versioni 11.x e 12.x precedenti alla 12.6.1 e tutte le versioni 13.x precedenti alla 13.2.1. È risolto nelle versioni 10.9.3, 12.6.1 e 13.2.1, tutte rilasciate il 25 agosto 2026, una per ciascuna linea TYPO3. Non esiste una versione abbastanza vecchia da non essere interessata: la debolezza fa parte del progetto originale dell’estensione, non è qualcosa arrivato in una versione successiva.
Una parola sull’urgenza, poiché si tratta di un avviso condizionato. Se nessuno dei tuoi moduli ha un campo contrassegnato come nome del mittente, l’aggiornamento è manutenzione ordinaria. Se uno di essi ce l’ha, ti prego di trattare l’aggiornamento come una priorità: l’avviso del fornitore riferisce che questo problema viene attivamente sfruttato, e in quella configurazione un visitatore senza alcun account può far valutare al tuo server codice di template a sua scelta, il che può rivelare la tua configurazione, le variabili d’ambiente e il codice sorgente e, a seconda dell’installazione, portare all’esecuzione di codice remoto.
Si tratta di una falla di un’estensione, non del core di TYPO3. Un TYPO3 completamente aggiornato non ti protegge se l’estensione powermail stessa è 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 nessuno dei tuoi moduli o di mandargli alcunché.
Ho solo esaminato i file visibili pubblicamente che il tuo sito serve a ogni visitatore (allo stesso modo in cui la tua homepage è pubblica) e ho annotato la versione che le risorse dell’estensione stessa identificano. In particolare non ho inviato alcun modulo, non ho mandato sintassi di template da nessuna parte e non mi sono avvicinato alla gestione delle mail dell’estensione. Nulla in questa verifica tocca i tuoi dati, il tuo backend 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
Powermail costruisce i moduli di contatto e di richiesta su moltissimi siti TYPO3. Quando un visitatore invia un modulo, l’estensione manda una mail al destinatario configurato del sito e compila il nome del mittente di quella mail a partire dai campi del modulo che il redattore ha contrassegnato come contenenti il nome del mittente.
Powermail consente ai redattori di scrivere piccoli frammenti del linguaggio di template Fluid di TYPO3 in alcune impostazioni delle mail, per esempio perché un oggetto possa recitare “Message from {firstname}”. È una funzionalità voluta per valori digitati da un redattore. Nelle versioni interessate, il nome del mittente assemblato dall’input del visitatore stesso veniva consegnato allo stesso motore di template, come se lo avesse scritto un redattore. Un visitatore poteva quindi digitare sintassi Fluid nel campo del nome di un modulo pubblico, e il server la valutava durante la costruzione della mail per il destinatario.
Da ciò seguono due cose, che tirano in direzioni opposte. La prima è che questo conta solo dove un campo del modulo porta effettivamente il contrassegno del nome del mittente; un sito i cui moduli non usano un campo simile non è raggiungibile tramite questo problema. La seconda è che dove il contrassegno è impostato, non servono account, password né la collaborazione di nessuno: il modulo è aperto al pubblico per progettazione, e l’unica cosa che l’attaccante deve fare è inviarlo. Il fornitore classifica il problema come critico (un punteggio CVSS 4.0 di 9.5), e il suo avviso dice che viene attivamente sfruttato.
Sto descrivendo tutto questo al livello di cui un proprietario di sito ha bisogno per agire, e non oltre. Non pubblico i dettagli che permetterebbero a qualcuno di riprodurlo, e ti chiederei di non provarlo contro il tuo sito né quello di altri. Controllare i campi dei tuoi moduli e la tua versione, come descritto di seguito, ti dice tutto ciò che serve per decidere cosa fare.
Se la mia email ha citato questo problema, significa che la versione identificata dalle risorse del tuo sito rientra nell’intervallo interessato. Non ho testato se il tuo sito in particolare sia sfruttabile, e non posso vedere come sono costruiti i tuoi moduli. Tutto ciò che ho osservato è la versione.
Sono interessato?
Due domande decidono la questione, in questo ordine.
Primo: qualche campo del modulo porta il contrassegno del nome del mittente?
Questa è la domanda decisiva, e solo tu puoi rispondere. Controllare i tuoi moduli è completamente sicuro ed è proprio lo scopo di questa pagina.
- Accedi al backend di TYPO3 e apri la pagina (o la cartella) che contiene i tuoi moduli powermail. Ogni modulo è un record con una o più pagine, e ogni pagina contiene i campi.
- Apri ogni record di campo e cerca nella sua scheda Esteso la casella “Questo campo contiene il nome del mittente”. Il più delle volte è selezionata sul campo in cui i visitatori digitano il proprio nome.
- Se nessun campo su nessuno dei tuoi moduli ha quella casella selezionata, questo problema non raggiunge il tuo sito, anche su una versione interessata, sebbene l’aggiornamento sia comunque utile come manutenzione ordinaria.
- Se qualche campo la ha selezionata, il problema ti riguarda e dovresti aggiornare tempestivamente (vedi Come effettuare l’aggiornamento). Se non puoi aggiornare subito, deseleziona quella casella su ogni campo che la ha: è la mitigazione raccomandata dal fornitore stesso e chiude il problema da sola. Il costo è che il nome del mittente non verrà più compilato nelle mail inviate dal modulo, finché non aggiorni e la riselezioni.
Per favore, non tentare di riprodurre il problema contro il tuo sito né quello di altri; non ti serve farlo per rispondere alla domanda sopra.
Secondo: quale versione stai eseguendo?
Non devi fidarti sulla parola. Nota che per un’estensione TYPO3 non esiste un file di versione pubblico come esiste, ad esempio, per un plugin WordPress, quindi le letture affidabili avvengono tutte dall’interno della tua installazione:
Dal backend di TYPO3 (fonte autorevole): vai su Strumenti di amministrazione quindi Estensioni. L’elenco delle estensioni installate mostra la versione di ciascuna; trova powermail. (In un’installazione basata su Composer l’elenco è in sola lettura, ma mostra comunque la versione installata.)
Dalla riga di comando, in un’installazione Composer: esegui composer show in2code/powermail
nella directory del tuo progetto. La riga versions è la versione installata.
Dai file: apri ext_emconf.php nella cartella dell’estensione (typo3conf/ext/powermail/ in
un’installazione classica, vendor/in2code/powermail/ in una Composer) e cerca la voce
'version' vicino all’inizio.
Poi applica questa regola, tenendo presente che le versioni si confrontano numericamente, non alfabeticamente (la 10.9.2 è più recente della 10.8.2, e la 13.2.1 è più recente della 13.2.0):
- Dalla 13.0.0 alla 13.2.0: potenzialmente interessato, in base alla domanda sul contrassegno di cui sopra. Aggiorna alla 13.2.1 o successiva.
- Dalla 11.0.0 alla 12.6.0: potenzialmente interessato, in base alla domanda sul contrassegno di cui sopra. Aggiorna alla 12.6.1 o successiva. Questo include ogni versione 11.x: non esiste una correzione separata per la 11.x, e la 12.6.1 funziona sulle stesse versioni TYPO3 (dalla 12.2 alla 12.5) della 11.x, quindi è un semplice aggiornamento dell’estensione senza bisogno di un aggiornamento di TYPO3.
- 10.9.2 e tutto ciò che è più vecchio: potenzialmente interessato, in base alla domanda sul contrassegno di cui sopra. Se sei sulla 9.x o 10.x (TYPO3 11.5), aggiorna alla 10.9.3 o successiva. Se sei sulla 7.x o 8.x (TYPO3 da 8.7 a 10.4), vedi il paragrafo successivo.
- 13.2.1, 12.6.1 o 10.9.3 e successive all’interno della loro linea: già risolto per quanto riguarda questo problema.
Se sei su powermail 7.x o 8.x, non esiste una versione corretta che funzioni sulla tua versione di TYPO3: la 10.9.3 richiede TYPO3 11.5. Per quei siti l’istruzione del fornitore è la mitigazione di cui sopra, deselezionare “Questo campo contiene il nome del mittente” su ogni campo che la porta, e pianificare un aggiornamento di TYPO3 a una linea supportata, dove è disponibile una versione corretta di powermail. Le versioni di TYPO3 su cui girano quelle generazioni sono a loro volta fuori supporto da tempo, il che è un secondo motivo per pianificare quel passaggio.
Un controllo che non funziona, quindi per favore non farci affidamento. Se guardi il sorgente
della tua pagina vedrai le risorse dell’estensione con un lungo numero in coda, per esempio
.../JavaScript/Powermail/Form.min.js?1785752971 (o incorporato nel nome del file come
Form.min.1785752971.js). Quel numero è un timestamp del file che TYPO3 aggiunge per invalidare
la cache, non una versione, e non è possibile ricavarne una versione a occhio. Si dà il caso che
sia ciò che ha usato il mio controllo, in un modo che spiego più sotto, ma le letture di cui sopra
sono quelle di cui fidarsi.
Come effettuare l’aggiornamento
Le versioni corrette sono pubblicate sul TYPO3 Extension Repository (TER), su Packagist e su GitHub, quindi si tratta di un normale aggiornamento dell’estensione. Prima esegui un backup, poi aggiorna tramite il meccanismo corrispondente a come è stato installato il tuo sito:
- 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.
- Installazione Composer (la maggior parte dei siti su TYPO3 12 e 13, e molti su 11): nella
directory del tuo progetto esegui l’aggiornamento del requisito per la tua linea, per esempio
composer require "in2code/powermail:^13.2.1"su TYPO3 13,"in2code/powermail:^12.6.1"su TYPO3 12, o"in2code/powermail:^10.9.3"su TYPO3 11.5. Poi esegui i tuoi consueti passaggi post-aggiornamento (vendor/bin/typo3 extension:setupsu TYPO3 12 e 13, o l’equivalente usato dal tuo deployment) e svuota le cache. - Installazione classica (senza Composer): nel backend di TYPO3 vai su Strumenti di amministrazione quindi Estensioni, imposta il menu a tendina su Ottieni estensioni, cerca powermail e aggiornalo alla versione corretta per la tua linea. Se il tuo sito non può raggiungere il TER, l’avviso del fornitore collega direttamente gli archivi delle release (vedi Riferimenti); carica l’archivio tramite Estensioni e il pulsante di caricamento. Svuota le cache in seguito.
- Dopo l’aggiornamento, conferma la nuova versione (13.2.1, 12.6.1 o 10.9.3, quella corrispondente alla tua linea) con i passaggi sopra, e invia uno dei tuoi moduli come test per verificare che le mail continuino ad arrivare normalmente.
Mentre sei lì, vale la pena verificare che anche TYPO3 stesso e le tue altre estensioni siano aggiornati, poiché lo stesso principio si applica a tutti.
Dopo l’aggiornamento: è già stato usato contro di te?
L’aggiornamento chiude il problema e, per molti siti, questo è l’intero compito. Questa pagina è un avviso precauzionale, non un rapporto di incidente: non ho visibilità su quanto possa essere accaduto sul tuo sito e non ho guardato.
Ma poiché il fornitore riferisce che questo problema è stato sfruttato in rete, un controllo successivo vale la pena, ed è condizionato dalla stessa domanda sul contrassegno. Se il tuo sito aveva un modulo con un campo del nome del mittente mentre eseguiva una versione interessata, allora era possibile che qualcuno eseguisse codice di template sul tuo server tramite quel modulo, e l’aggiornamento non annulla nulla che possa già essere stato letto. L’avviso del fornitore fornisce una semplice autoverifica, e non costa nulla eseguirla:
- Guarda i nomi dei mittenti che i tuoi moduli hanno ricevuto. Controlla le mail che i tuoi
moduli ti hanno inviato, e gli invii memorizzati nel backend di TYPO3 (il modulo Mails di
powermail) o nella tabella del database
tx_powermail_domain_model_mail, cercando nomi di mittenti contenenti sintassi Fluid comef:,v:o{namespace. Il nome di un visitatore reale non ha mai quell’aspetto. - Se ne trovi, l’indicazione del fornitore è di trattare il sistema come potenzialmente
compromesso. Poiché questo problema può esporre la configurazione e le variabili d’ambiente, la
risposta sensata in quel caso è ruotare i segreti custoditi dal tuo sito: la password del
database, la
encryptionKeydi TYPO3, la password dell’Install Tool e qualsiasi chiave API o credenziale memorizzata nella tua configurazione o nel tuo ambiente. Rivedi i tuoi utenti del backend cercando account che non riconosci, cerca file inattesi sul server e, se la tua organizzazione ha un team di sicurezza informatica o un CERT nazionale, coinvolgili. - Se non ne trovi, e specialmente se nessun campo portava il contrassegno fin dall’inizio, l’aggiornamento da solo è sufficiente.
Per essere chiari sull’inquadramento: questa è un’autoverifica, non una dichiarazione che il tuo sito sia stato attaccato. Questo avviso si basa su un’impronta di versione, non su alcuna prova di un incidente.
Cosa ho fatto e cosa non ho fatto
Per essere pienamente trasparente riguardo al controllo dietro la mia email: ho letto solo file che il tuo sito serve già a ogni visitatore, nello specifico la tua homepage e gli indirizzi delle risorse powermail scritti al suo interno. Non ho avuto accesso al tuo backend TYPO3, al tuo database, alla configurazione dei tuoi moduli o a qualsiasi parte privata del sito.
In particolare, non ho mai inviato nessuno dei tuoi moduli e non ho mai mandato sintassi di template al tuo sito né a quello di altri. Non è stato inviato, testato o sfruttato nulla. Questo qui pesa più che nella maggior parte di queste pagine, perché l’invio di un modulo è esattamente l’azione a cui questo problema si riferisce, quindi “non l’ho toccato” è l’intera differenza tra una divulgazione e un’intrusione.
Come è stata identificata la versione, dato che un’estensione TYPO3 non pubblica alcun file di
versione: TYPO3 aggiunge all’URL di ogni risorsa l’orario della sua ultima modifica, come in
Form.min.js?1785752971. Su un sito installato con Composer, quell’orario è il momento in cui la
release è stata pubblicata, perché Composer lo conserva quando spacchetta il pacchetto, quindi il
numero identifica la release esattamente: ogni release di powermail ha il proprio. Ho confrontato
il numero servito dal tuo sito con gli orari di pubblicazione delle release e ti ho scritto solo
in caso di corrispondenza esatta. Qualsiasi altra cosa, che è ciò che tipicamente serve un
sito installato tramite l’Extension Manager o distribuito copiando i file, viene letta come
“sconosciuto”, e a quei siti non ho scritto affatto.
Quel metodo ha un punto cieco noto, e sbaglia dalla parte della cautela. Le correzioni cambiano solo il codice PHP dell’estensione, non le sue risorse pubbliche. Quindi, se il tuo sito è stato riparato sostituendo solo il codice (una patch manuale a caldo anziché un aggiornamento completo), le sue risorse portano ancora il timestamp della vecchia release e viene letto come una versione interessata anche se è protetto. Se hai già rimediato con altri mezzi, non è necessaria alcuna azione, e mi scuso per il disturbo.
Sto anche deliberatamente evitando di pubblicare i dettagli che aiuterebbero qualcuno ad agire su questo problema. La descrizione sopra si ferma al livello di cui ha bisogno un proprietario di sito, e non collego alcun codice proof-of-concept.
Questa è un’osservazione basata sulla versione: le risorse del tuo sito identificano 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 dei campi del modulo 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.
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
- 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
- TYPO3-EXT-SA-2026-022, l’avviso del fornitore (con link di download diretti per 10.9.3, 12.6.1 e 13.2.1)
- Voce NVD (CVE-2026-77136)
Fornitore / estensione