Beheben · Stand 23. Oktober 2026

PHP2Shell auf Debian und Ubuntu beheben: PHP-Pakete aktualisieren

Kurz gesagt: Systemupdates einspielen, PHP-FPM bzw. Apache neu starten und prüfen, ob die Website die neue Version nutzt. Debian und Ubuntu reparieren Lücken oft, ohne die Versionsnummer zu erhöhen. Lassen Sie sich davon nicht verwirren.

Für wen ist diese Anleitung?

Für Administratoren eines eigenen Servers (Root-Server, vServer, Cloud-Server) mit Debian oder Ubuntu. Sie brauchen SSH-Zugang mit Administratorrechten.

Sie sind Geschäftsführer oder Büroleitung und betreuen den Server nicht selbst? Leiten Sie diese Seite an Ihren IT-Dienstleister weiter und fragen Sie, bis wann das Update eingespielt ist. Lesen Sie selbst den Abschnitt zu den Risiken.

Schritt 1: Herausfinden, woher PHP kommt

PHP kommt auf Debian und Ubuntu aus einer von zwei Quellen:

  • Aus der Distribution selbst (z. B. PHP 8.2 bei Debian 12, PHP 8.3 bei Ubuntu 24.04). Debian und Ubuntu liefern Sicherheitskorrekturen nach.
  • Aus einer Zusatzquelle wie packages.sury.org (Debian) oder ppa:ondrej/php (Ubuntu). Diese liefern die offiziellen PHP-Versionen, also 8.5.12, 8.4.27, 8.3.36 oder 8.2.35.

Das zeigt Ihnen:

apt policy php8.3-fpm     # Versionsnummer an die eigene Version anpassen

Welche PHP-Versionen installiert sind:

dpkg -l 'php*-fpm' 'libapache2-mod-php*' | grep ^ii

Schritt 2: Updates einspielen

sudo apt update
sudo apt upgrade

apt upgrade aktualisiert alle Pakete. Wenn Sie zunächst nur PHP aktualisieren möchten:

sudo apt install --only-upgrade 'php8.3*'

Schritt 3: PHP-FPM und Apache neu starten

Laufende PHP-Prozesse nutzen weiter das alte Programm, bis sie neu gestartet werden. Das ist bei PHP2Shell besonders wichtig.

systemctl list-units 'php*-fpm*'          # welche PHP-FPM-Dienste laufen
sudo systemctl restart php8.3-fpm         # für jede laufende Version
sudo systemctl restart apache2            # wenn Apache mit mod_php läuft

Schritt 4: Prüfen, ob die Korrektur drin ist

Bei Paketen aus Debian oder Ubuntu bleibt die Versionsnummer oft gleich, etwa 8.2.x. Die Korrektur steht im Änderungsprotokoll des Pakets:

apt changelog php8.2-fpm | grep -m3 'CVE-2026-10961[89]'

Erscheinen beide CVE-Nummern, ist das Paket korrigiert. Bei der Sury- oder Ondřej-Quelle zeigt php -v direkt eine der abgesicherten Versionen.

Wichtig: php -v auf der Kommandozeile kann eine andere Version zeigen als der Webserver. Maßgeblich ist, was PHP-FPM bzw. Apache ausführt.

Für alte Versionen gibt es keine Pakete

Läuft Ihre Website mit PHP 7.4, 8.0 oder 8.1 aus einer Zusatzquelle, gibt es dafür keine offiziellen Updates mehr. Auch ältere Debian- und Ubuntu-Versionen, deren Unterstützung abgelaufen ist, bekommen keine Korrektur. Lesen Sie dann alte PHP-Version.

Welche Risiken hat das PHP-Update?

Das reine Sicherheitsupdate derselben PHP-Version ist risikoarm. Was trotzdem passieren kann:

  • Kurze Unterbrechung beim Neustart von PHP-FPM oder Apache. Laufende Anfragen, zum Beispiel ein Upload, können abbrechen. Planen Sie den Neustart außerhalb der Hauptgeschäftszeit.
  • apt upgrade aktualisiert auch andere Programme, etwa die Datenbank. Lesen Sie die Liste, die apt vor dem Bestätigen anzeigt.
  • Geänderte Konfiguration: Fragt apt, ob eine Konfigurationsdatei ersetzt werden soll, wählen Sie im Zweifel „beibehalten“. Sonst gehen eigene Einstellungen verloren.

Der Wechsel auf eine neue Hauptversion (z. B. von 7.4 auf 8.2) ist dagegen ein Projekt:

  • Alter Programmcode kann Fehlerseiten oder weiße Seiten auslösen.
  • Erweiterungen müssen für die neue Version installiert werden (php8.2-mysql, php8.2-gd, …), sonst fehlen Funktionen.
  • Eigene Einstellungen in /etc/php/<version>/ müssen übertragen werden.
  • Der Webserver muss auf die neue Version zeigen (PHP-FPM-Socket bzw. Apache-Modul).

So senken Sie das Risiko:

  1. Snapshot oder Backup des Servers vor dem Update. Bei Cloud-Servern dauert ein Snapshot wenige Minuten.
  2. Zuerst auf einer Testumgebung oder einer Kopie der Website testen.
  3. Ein Wartungsfenster festlegen und die Beteiligten informieren.
  4. Nach dem Update testen: Startseite, Formulare, Login, Bestellung, Cronjobs.
  5. Notfallplan: Bei einem Hauptversionswechsel bleibt die alte Version installiert, bis Sie sie entfernen. Sie können den Webserver also schnell zurückschalten.

Schritt 5: Auf Einbruchsspuren prüfen

Prüfen Sie Webserver-Logs ab dem 1. August 2026. Achten Sie auf unbekannte PHP-Dateien im Webverzeichnis (find /var/www -name '*.php' -newermt 2026-08-01), neue Cronjobs (crontab -l -u www-data) und Prozesse des Benutzers www-data.

So prüfen Sie, ob es geklappt hat

Prüfen Sie Ihre Website mit unserem kostenlosen Check. Bei Distributionspaketen kann das Ergebnis „Wahrscheinlich betroffen“ lauten, obwohl Sie gepatcht haben, weil die Versionsnummer gleich geblieben ist. Maßgeblich ist dann das Änderungsprotokoll aus Schritt 4.

Fragen oder Probleme beim Update?

Sie sind unsicher, ob Ihre Website das Update verträgt, oder nach dem Update funktioniert etwas nicht mehr? Schreiben Sie uns. Wir sehen uns Ihre Website an und sagen Ihnen ehrlich, was zu tun ist, auch wenn Sie das Update am Ende selbst machen.

Hilfe anfordern Website prüfen