Kurz gesagt: Contao-Sicherheit hängt bei PHP2Shell am PHP des Servers, nicht an Contao. Achten Sie darauf, dass sowohl das Web-PHP als auch das Kommandozeilen-PHP des Contao Managers gepatcht sind. Danach prüfen Sie .env, eigene Templates, den Ordner files und die Zugänge zu Backend und Manager.
Contao und PHP2Shell: worum es geht
Contao ist ein im deutschsprachigen Raum verbreitetes CMS, das seit Version 4 auf dem Framework Symfony aufbaut. Die PHP-Lücken CVE-2026-109618 und CVE-2026-109619 erlauben laut PHP-Team das Ausführen von Schadcode aus der Ferne ohne Anmeldung. Sie betreffen PHP selbst, also auch jede Contao-Installation auf einem ungepatchten Server.
Viele Contao-Websites gehören Mittelständlern, Verbänden und Kommunen und werden von Agenturen betreut. Klären Sie deshalb zuerst, wer für PHP zuständig ist: Hoster, Agentur oder Ihre eigene IT.
Ein häufiger Irrtum betrifft den Wartungsmodus. Contao kann eine Website für Besucher sperren, doch diese Sperre wird selbst von PHP ausgeliefert. Jede Anfrage erreicht also weiterhin den PHP-Interpreter. Gegen PHP2Shell schützt der Wartungsmodus deshalb nicht. Wenn das BSI empfiehlt, Webserver bis zum Update vom Netz zu nehmen, ist eine Sperre auf Server- oder Hosting-Ebene gemeint, nicht eine Einstellung im CMS.
Contao-Sicherheit beginnt mit zwei PHP-Versionen
Contao nutzt PHP auf zwei Wegen. Der Webserver bearbeitet Seitenaufrufe meist über PHP-FPM. Der Contao Manager und die Contao-Konsole arbeiten zusätzlich mit einem Kommandozeilen-PHP, etwa für Installationen, Updates und Cronjobs. Auf Hosting-Paketen mit mehreren PHP-Versionen können das zwei verschiedene Programme sein.
Der Contao Manager zeigt in seiner Serverkonfiguration, welche PHP-Programmdatei er verwendet. Die Web-Version sehen Sie im Hosting-Panel. Behobene Upstream-Versionen sind 8.5.12, 8.4.27, 8.3.36 und 8.2.35; Backports können ältere Nummern tragen. Beide Wege müssen gepatcht und alle Prozesse neu gestartet sein. Welche PHP-Versionen Ihre Contao-Version unterstützt, prüfen Sie laut Systemanforderungen auf contao.org. Mehr zur Prüfung unter PHP-Version und Patchstand richtig prüfen.
Verzeichnisse und Dateien in Contao
| Ort | Inhalt | Prüfpunkt |
|---|---|---|
.env, .env.local |
Datenbankzugang, APP_SECRET |
nach Verdacht erneuern |
config/config.yaml |
Konfiguration der Installation | unerwartete Änderungen |
public/ (ältere Versionen web/) |
Dokumentwurzel mit index.php, Contao-Manager-Datei, Assets |
zusätzliche PHP-Dateien |
files/ |
Dateiverwaltung der Redakteure | keine PHP-Dateien |
templates/ |
eigene Templates, klassisch als .html5 mit PHP |
unbekannte oder veränderte Templates |
system/config/localconfig.php |
ältere Einstellungen | eingeschobener Code |
var/ |
Cache und Logs | Logs sichern, Cache neu erzeugen |
Gerade templates/ wird unterschätzt: Klassische Contao-Templates mit der Endung .html5 sind PHP-Dateien. Ein eingeschobener Befehl in einem eigenen Template läuft bei jedem Seitenaufruf mit und übersteht Contao-Updates.
Ungefährliche erste Prüfungen:
# PHP-Dateien in der Dateiverwaltung
find files -type f -name "*.php"
# Seit dem 17.10.2026 geänderte Templates
find templates -type f -newermt "2026-10-17"
# Verfügbare Contao-Befehle und Abhängigkeiten prüfen
vendor/bin/contao-console list contao
composer audit
Der Contao Manager kann Pakete installieren und damit beliebigen Code auf den Server bringen. Prüfen Sie nach einem Verdacht seine Benutzerkonten, vergeben Sie neue Passwörter und entfernen Sie Zugänge ehemaliger Dienstleister.
Backend, Manager und Erweiterungen
Das Backend liegt unter /contao. Prüfen Sie Benutzer mit Administratorrechten und Benutzergruppen mit weitreichenden Rechten, etwa auf Dateiverwaltung, Templates oder Benutzerverwaltung. Contao bringt eine Zwei-Faktor-Anmeldung mit; nutzen Sie sie für alle Konten mit erhöhten Rechten.
Erweiterungen werden per Composer oder über den Contao Manager installiert. Jede bringt PHP-Code mit, und ältere Erweiterungen ohne Pflege bremsen PHP-Upgrades. Auf Servern mit mehreren Websites sollte jede Installation getrennt laufen, damit ein Vorfall nicht auf Nachbarseiten übergreift; mehr dazu unter open_basedir und Isolation pro Website.
Was ein Contao-Update kann und was nicht
Ein Contao-Update über den Manager oder Composer schließt bekannte Fehler in Contao und Erweiterungen. Es patcht nicht PHP und startet weder PHP-FPM noch Hintergrundprozesse neu. Eigene Templates, Dateien in files/ und fremde Benutzerkonten bleiben unverändert. Nach einem Wechsel der PHP-Hauptversion sollte der Cache neu erzeugt und die Website in einer Testumgebung geprüft werden.
Bei Websites mit vielen Redakteuren lohnt sich nach dem Patch ein Blick auf die Rechte im Backend. Wer Templates bearbeiten darf, kann in klassischen .html5-Templates PHP-Code hinterlegen. Diese Berechtigung gehört nur in die Hände weniger, technisch versierter Personen. Gleiches gilt für den Zugriff auf die Dateiverwaltung mit Upload-Rechten in öffentlich erreichbare Ordner.
Wie hilft PHP SOS konkret?
- Wir ermitteln Web- und CLI-PHP Ihrer Contao-Installation und lassen Patch und Neustart bestätigen.
- Wir sichern Logs, Dateien und Datenbank, bevor wir etwas verändern.
- Wir prüfen Templates,
files/, die Dokumentwurzel, Backend- und Manager-Konten. - Den PHP-Wechsel mit Nachweis übernimmt auf Wunsch unser PHP-Patch-Service, abgestimmt mit Ihrer Agentur.
Häufige Fragen
Ist Contao von PHP2Shell betroffen?
Contao selbst hat keine neue Lücke. Läuft die Website aber auf einem ungepatchten PHP, ist sie wie jede PHP-Anwendung angreifbar. Ein Contao-Update schließt die PHP-Lücke nicht.
Warum ist der Contao Manager sicherheitsrelevant?
Der Contao Manager kann Pakete installieren, aktualisieren und entfernen. Wer Zugriff darauf hat, kann beliebigen Code einspielen. Der Zugang braucht deshalb ein starkes Passwort und wenige Berechtigte.
Enthalten Contao-Templates PHP-Code?
Die klassischen Templates mit der Endung .html5 sind PHP-Templates. Eigene Templates im Ordner templates können daher PHP enthalten. Unbekannte oder kürzlich veränderte Templates sollten Sie erklären können.