In breve: con PHP2Shell la sicurezza di Contao dipende dal PHP del server, non da Contao. Faccia in modo che siano aggiornati sia il PHP web sia il PHP a riga di comando del Contao Manager. Poi controlli .env, i template propri, la cartella files e gli accessi a backend e Manager.
Contao e PHP2Shell: di che cosa si tratta
Contao è un CMS diffuso nell'area di lingua tedesca che dalla versione 4 si basa sul framework Symfony. Le vulnerabilità PHP CVE-2026-109618 e CVE-2026-109619 consentono, secondo il team PHP, di eseguire codice dannoso da remoto senza autenticazione. Riguardano PHP stesso, quindi anche ogni installazione di Contao su un server non aggiornato.
Molti siti Contao appartengono a PMI, associazioni e comuni e sono seguiti da agenzie. Chiarisca perciò prima di tutto chi sia responsabile di PHP: hoster, agenzia o la Sua IT interna.
Un errore frequente riguarda la modalità di manutenzione. Contao può bloccare un sito ai visitatori, ma questo blocco è a sua volta consegnato da PHP. Ogni richiesta raggiunge quindi comunque l'interprete PHP. Contro PHP2Shell la modalità di manutenzione non protegge. Quando il BSI (Ufficio federale tedesco per la sicurezza informatica) raccomanda di scollegare i web server dalla rete fino all'aggiornamento, intende un blocco a livello di server o di hosting, non un'impostazione nel CMS.
La sicurezza di Contao inizia con due versioni di PHP
Contao usa PHP in due modi. Il web server elabora le visualizzazioni delle pagine di solito tramite PHP-FPM. Il Contao Manager e la console di Contao lavorano inoltre con un PHP a riga di comando, ad esempio per installazioni, aggiornamenti e cronjob. Nei pacchetti di hosting con più versioni di PHP possono essere due programmi diversi.
Il Contao Manager mostra nella sua configurazione del server quale file eseguibile PHP utilizzi. La versione web la vede nel pannello di hosting. Le versioni upstream corrette sono 8.5.12, 8.4.27, 8.3.36 e 8.2.35; i backport possono riportare numeri più vecchi. Entrambi i percorsi devono essere aggiornati e tutti i processi riavviati. Quali versioni di PHP supporta la Sua versione di Contao, lo verifichi nei requisiti di sistema su contao.org. Maggiori informazioni sul controllo in Verificare correttamente versione e stato delle patch di PHP.
Directory e file in Contao
| Posizione | Contenuto | Punto da controllare |
|---|---|---|
.env, .env.local |
Accesso al database, APP_SECRET |
rinnovare in caso di sospetto |
config/config.yaml |
Configurazione dell'installazione | modifiche inattese |
public/ (versioni più vecchie web/) |
Document root con index.php, file del Contao Manager, asset |
file PHP aggiuntivi |
files/ |
Gestione file dei redattori | nessun file PHP |
templates/ |
template propri, classicamente .html5 con PHP |
template sconosciuti o modificati |
system/config/localconfig.php |
impostazioni più vecchie | codice aggiunto |
var/ |
Cache e log | salvare i log, rigenerare la cache |
Proprio templates/ viene sottovalutata: i template classici di Contao con estensione .html5 sono file PHP. Un comando aggiunto in un template proprio viene eseguito a ogni visualizzazione di pagina e sopravvive agli aggiornamenti di Contao.
Primi controlli non invasivi:
# File PHP nella gestione file
find files -type f -name "*.php"
# Template modificati dal 17/10/2026
find templates -type f -newermt "2026-10-17"
# Verificare i comandi Contao disponibili e le dipendenze
vendor/bin/contao-console list contao
composer audit
Il Contao Manager può installare pacchetti e quindi portare codice arbitrario sul server. In caso di sospetto controlli i suoi account utente, assegni nuove password e rimuova gli accessi di ex fornitori di servizi.
Backend, Manager ed estensioni
Il backend si trova in /contao. Controlli gli utenti con diritti di amministratore e i gruppi di utenti con diritti estesi, ad esempio su gestione file, template o gestione utenti. Contao include un'autenticazione a due fattori; la usi per tutti gli account con privilegi elevati.
Le estensioni vengono installate tramite Composer o il Contao Manager. Ognuna porta con sé codice PHP, e le estensioni più vecchie senza manutenzione rallentano gli aggiornamenti di PHP. Sui server con più siti, ogni installazione dovrebbe girare separatamente, in modo che un incidente non si estenda ai siti vicini; maggiori dettagli in open_basedir e isolamento per sito.
Che cosa può fare un aggiornamento di Contao e che cosa no
Un aggiornamento di Contao tramite Manager o Composer chiude errori noti in Contao e nelle estensioni. Non applica patch a PHP e non riavvia né PHP-FPM né i processi in background. Template propri, file in files/ e account utente estranei restano invariati. Dopo un cambio della versione principale di PHP andrebbero rigenerata la cache e verificato il sito in un ambiente di test.
Nei siti con molti redattori, dopo la patch vale la pena dare uno sguardo ai diritti nel backend. Chi può modificare i template può inserire codice PHP nei template classici .html5. Questo permesso deve essere nelle mani di poche persone con competenze tecniche. Lo stesso vale per l'accesso alla gestione file con diritti di upload in cartelle raggiungibili pubblicamente.
In che modo PHP SOS aiuta concretamente?
- Accertiamo PHP web e CLI della Sua installazione Contao e ci facciamo confermare patch e riavvio.
- Mettiamo al sicuro log, file e database prima di modificare qualcosa.
- Controlliamo template,
files/, la document root, gli account di backend e Manager. - Il passaggio di PHP con relativa documentazione lo svolge, su richiesta, il nostro servizio di patch PHP, in accordo con la Sua agenzia.
Domande frequenti
Contao è interessato da PHP2Shell?
Contao stesso non ha una nuova vulnerabilità. Ma se il sito gira su un PHP non aggiornato, è attaccabile come qualsiasi applicazione PHP. Un aggiornamento di Contao non chiude la vulnerabilità di PHP.
Perché il Contao Manager è rilevante per la sicurezza?
Il Contao Manager può installare, aggiornare e rimuovere pacchetti. Chi vi ha accesso può inserire codice arbitrario. L'accesso richiede quindi una password robusta e pochi autorizzati.
I template di Contao contengono codice PHP?
I template classici con estensione .html5 sono template PHP. I template propri nella cartella templates possono quindi contenere PHP. Dovrebbe saper spiegare i template sconosciuti o modificati di recente.