PHP2Shell (CVE-2026-109618 / CVE-2026-109619):
Analyse & Notfall-Hilfe
Das Bundesamt für Sicherheit in der Informationstechnik (BSI) warnt vor zwei kritischen Schwachstellen in PHP („PHP2Shell“). Angreifer können aus der Ferne und ohne Anmeldung Schadcode auf Webservern ausführen. Betroffen sind klassische Server mit Apache und PHP-FPM ebenso wie containerisierte Setups unter Docker.
- CVSS 9,2 – Kritisch
- BSI-Kritikalität 3 von 4 (Orange)
- Notfall-Updates seit 21.10.2026
- Geprüfter Stand:
Das Wichtigste in drei Punkten
Wer ist betroffen?
Laut BSI alle PHP-Versionen bis mindestens PHP 5 – auf Servern, in Docker-Containern und in Appliances. Am stärksten gefährdet gilt Apache mit mod_php; auch PHP-FPM ist anfällig.
Wie gefährlich ist das?
Es genügt eine präparierte Web-Anfrage ohne Authentifizierung. Ein Exploit ist öffentlich. Durch Memory-Leaks können zudem Passwörter, Session-Tokens und TLS-Keys abfließen.
Was ist jetzt zu tun?
Notfall-Updates unverzüglich einspielen, PHP-Dienste neu starten, Docker-Images separat aktualisieren und Systeme auf Kompromittierungs-Spuren prüfen.
Diese PHP-Versionen sind gepatcht
Gleichen Sie Ihre installierten PHP-Versionen mit den offiziellen Upstream-Releases und Backports ab:
| PHP-Zweig | Mindestens installieren | Hinweis & Status |
|---|---|---|
| 8.5 | 8.5.12 | Offizielles Notfall-Update vom 21.10.2026 |
| 8.4 | 8.4.27 | Offizielles Notfall-Update vom 21.10.2026 |
| 8.3 | 8.3.36 | Offizielles Notfall-Update vom 21.10.2026 |
| 8.2 | 8.2.35 | Erhält laut BSI nur noch bis 31.12.2026 Support – zeitnahe Migration auf 8.4 planen |
| 8.1, 8.0, 7.4 | Distro-Backport | Quellcode-Backports für 7.4/8.0/8.1 bereitgestellt. Pakete von Debian, Ubuntu oder Plesk müssen Revisionsdatum ≥ 21.10.2026 aufweisen. |
session.upload_progress.enabled = 0 reduzieren die Angriffsfläche, bieten jedoch keinen vollständigen Schutz. Wer nicht sofort patchen kann, sollte den Server vorübergehend vom Internet trennen.Online-Schnelltest: Sendet Ihr Server eine verwundbare PHP-Version?
Prüfen Sie mit einem Klick, ob Ihr Webserver über seine öffentlichen HTTP-Header (X-Powered-By) eine verwundbare PHP-Version preisgibt. Es findet kein Angriffsversuch statt – es wird lediglich eine reguläre Status-Anfrage (HTTP HEAD) gestellt.
Manueller Selbsttest per Kommandozeile (SSH)
Wenn Ihr Server die PHP-Version nach außen hin ausblendet (expose_php = Off), können Sie die Versionen mit diesen Befehlen direkt auf dem Server abfragen:
php -v # PHP-Version der Kommandozeile
apachectl -M | grep php # Apache: läuft mod_php?
docker ps --format '{{.Names}}' # laufende Docker-Container
docker exec <container> php -v # PHP-Version im Container
apt changelog php8.3-cli | grep -m1 CVE-2026-109618 # Backport im Paket? (Debian/Ubuntu)PHP2Shell Auditor – Bestandsaufnahme & Notfall-Hilfe
Wir haben den PHP2Shell Auditor (php2shell-check.sh) entwickelt, um Administratoren eine strukturierte, gefahrlose Prüfung und Absicherung an die Hand zu geben. Neben der reinen Versionsprüfung erkennt er auch Distro-Backports für PHP 7.4, 8.0 und 8.1 und bereitet Docker-Stacks mit Backup und Rollback-Tag auf das Update vor.
Host & Docker Prüfung
Prüft CLI, FPM, Apache mod_php und alle laufenden Docker-Container auf verwundbare Versionen in einer übersichtlichen Ampel-Tabelle.
100 % Rückabwickelbar
Jede Maßnahme kann über die integrierte Split-Screen-TUI aktiviert und durch einfaches Abwählen rückstandsfrei wieder rückabgewickelt werden.
Sauberer Docker-Workflow
Beendet Stacks vor dem Backup via docker compose down, um gesperrte Dateien zu vermeiden, und bietet automatische Rollback-Tags.
BSI-Workarounds
Richtet temporäre Schutzmaßnahmen (upload_progress, post_max_size, systemd cgroup-Speicherlimits) menügeführt und regelkonform ein.
Forensische Heuristik
Sucht nach Webshells, manipulierten Session-Dateien, ASLR-Brute-Force-Mustern und sichert Prozesse und RAM vor Eingriffen.
Revisionssicherer Druck
Erstellt abhakbare Notfall-Checklisten und druckt komplette Prüfberichte direkt über erkannte CUPS- oder Netzwerkdrucker aus.
In vier Schritten zum abgesicherten Server.
Lesender Scan
Das Skript prüft Versionen, Dateien, Logs und Container, ohne Konfigurationen zu verändern.
Status-Analyse
Die Ampel-Übersicht zeigt auf einen Blick, ob Handlungsbedarf besteht oder alles sicher ist.
TUI-Maßnahmen
Im Menü wählen Sie Updates oder BSI-Workarounds mit Vorabprüfung und Sicherheitsrückfrage aus.
Dokumentation
Nachprüfung und Ausdruck des Revisionsnachweises für Ihre Unterlagen und Compliance.
Schnellstart auf Ihrem Linux-Server
Führen Sie die folgenden Befehle als Administrator (mit sudo) auf Ihrem Server aus:
git clone https://github.com/it-reinbek/php2shell-auditor.git
cd php2shell-auditor
chmod +x php2shell-check.sh
sudo ./php2shell-check.sh- Rechtssicher: Startet mit einem transparenten Haftungshinweis zur eigenverantwortlichen Nutzung.
- Lesend & sicher: Der Scan legt temporäre Protokolle unter
/rootab. Systemänderungen erfolgen erst nach Bestätigung. - Automatisiert nutzbar: Für Monitoring-Cronjobs stehen Parameter wie
--no-menuund--versions-onlybereit.
Fragen & Antworten zu PHP2Shell
Wie erkenne ich, ob meine Systeme betroffen sind?
Prüfen Sie die PHP-Versionen aller Webserver-Dienste (CLI, PHP-FPM, Apache) und in jedem Docker-Container. Liegt die Version unter 8.5.12, 8.4.27, 8.3.36 bzw. 8.2.35 und existiert kein Distro-Backport, ist die Installation verwundbar. Unser Skript automatisiert diesen Abgleich vollständig.
Warum müssen Docker-Container separat gepatcht werden?
Container teilen sich zwar den Kernel des Host-Systems, bringen ihre Bibliotheken und Laufzeiten wie PHP jedoch isoliert im Image mit. Ein apt upgrade auf dem Host verändert Container nicht – das Basis-Image muss im Compose-File aktualisiert werden.
Gibt es für PHP 7.4, 8.0 und 8.1 noch Patches?
Offizielle neue Releases von php.net gibt es für diese EOL-Zweige nicht. Allerdings hat das PHP Security Team Quellcode-Patches bereitgestellt. Distributionen (wie Debian LTS, Ubuntu Pro, Plesk oder Remi) liefern diese als Paket-Backports aus. Das Skript prüft, ob ein solcher Backport aktiv ist.
Bedeutet ein negativer Scan, dass kein Angriff stattfand?
Nein. Erfolgreiche Angriffe hinterlassen nicht zwingend Abstürze oder geänderte Dateien. CVE-2026-109618 kann Arbeitsspeicher über Sitzungs-Cookies leaken, ohne das Dateisystem zu berühren. Wir empfehlen daher nach dem Patchen die Rotation wichtiger Zugangsdaten.
Wie prüfe ich unter Debian, Ubuntu, RHEL oder Plesk, ob ein Backport für PHP 7.4, 8.0 oder 8.1 installiert ist?
Meist lässt sich das über das Paket-Changelog prüfen, zum Beispiel mit apt changelog php8.1-cli | grep CVE-2026-109618 (Debian/Ubuntu) oder rpm -q --changelog php-cli | grep CVE-2026-109618 (RHEL und Derivate). Zusätzlich sollte das Paket ein Revisionsdatum ab 21.10.2026 haben. Nennt das Changelog die CVE nicht, ist das noch kein Beweis für fehlenden Schutz – der PHP2Shell Auditor wertet Changelog und Build-Datum automatisiert aus.
Wie prüfe und aktualisiere ich PHP2Shell in Docker-Containern?
Listen Sie die laufenden Container mit docker ps auf und prüfen Sie in jedem Container die PHP-Version mit docker exec <container> php -v. Aktualisieren Sie danach das Image, zum Beispiel mit docker compose pull und docker compose up -d, bzw. bauen Sie eigene Images mit docker compose build --pull neu. Der PHP2Shell Auditor übernimmt Prüfung, Sicherung und Rollback-Tag automatisiert.
Offizielle Referenzen
- BSI-IT-Sicherheitshinweis BITS-H Nr. 2026-297981-1032 (Version 1.1 vom 21.10.2026)
- PHP Security Advisory: Critical remote code execution vulnerabilities (php.net)
- GitHub Security Advisory: CVE-2026-109618 (GHSA-w8hw-w9fx-j79w)
- GitHub Security Advisory: CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp)
Stand: . Dieses Werkzeug wird als Open-Source-Software unter MIT-Lizenz bereitgestellt. Die Nutzung erfolgt in eigener Verantwortung. Vor Eingriffen an Produktivsystemen wird die Erstellung vollständiger Backups dringend empfohlen.