PHP2Shell ist behoben.
Ihr PHP auch?
Zwei kritische Lücken in PHP selbst, CVE-2026-109618 und CVE-2026-109619, wurden am 21. Oktober 2026 behoben. Fügen Sie die Ausgabe von php -v ein und sehen Sie, wo Sie stehen.
Betroffen. Aktualisieren Sie auf 8.3.36.
Starten Sie danach jeden PHP-Worker neu.
php -v zeigt den Kommandozeilen-Build. Ihr Webserver kann einen anderen ausführen. Fragen Sie php-fpm8.3 -v oder rufen Sie phpinfo() über die Website auf.
Schritte für PHP 8.3Behobene Versionen21. Okt. 2026
Wo die Lücken sitzen
Beide Lücken stecken in PHP, nicht in Ihrem Code. Aktualisieren Sie es, starten Sie die Worker neu, und jede Website auf dem Server ist behoben.
- Schweregrad
- Kritisch, CVSS v4.0 9.2, beide
- Erreichbar über
- Apache mod_php, PHP-FPM, php-cgi, FrankenPHP, LiteSpeed
- Höchstes Risiko
- mod_php: ohne Login, ausgelöst bevor Ihr Code läuft
- Aktive Angriffe
- In den offiziellen Advisories nicht gemeldet, Stand 22. Okt. 2026
Jeder Zweig, eine Zeile
Suchen Sie Ihren Zweig und lesen Sie die Version mit dem Fix ab. Alles darunter ist betroffen.
- Behobene Version
- Nur Backport im Quellcode
- Kein offizieller Fix
- Geprüft 22. Oktober 2026
Der Balken endet mit dem Support auf php.net
Versionen aus der Ankündigung auf php.net und den beiden Advisories. Lebenszyklen laut php.net supported versions. Die vollständige Tabelle steht auf der Statusseite.
- PHP 8.58.5.12Support bis 31. Dezember 2029
- PHP 8.48.4.27Support bis 31. Dezember 2028
- PHP 8.38.3.36Support bis 31. Dezember 2027
- PHP 8.28.2.35Support bis 31. Dezember 2026
- PHP 8.1Nur Backport im Quellcodeendete am 31. Dezember 2025
- PHP 8.0Nur Backport im Quellcodeendete am 26. November 2023
- PHP 7.4Nur Backport im Quellcodeendete am 28. November 2022
- PHP 7.3 and olderKein offizieller Fixseit Jahren beendet
Bis Sie upgraden können
Diese Einstellungen verringern das Risiko. Sicher sind Sie damit nicht. Laut PHP-Projekt hilft nur das Upgrade.
Auch am Proxy
Begrenzen Sie vor PHP Anfragegröße, Anzahl der Felder, Multipart-Teile, Header und Verschachtelungstiefe. Auch für Anfragen ohne Content-Length.
Unter PHP 8.5 zusätzlich fatal_error_backtraces = 0 setzen. Nutzen Sie nie RLIMIT_AS oder RLIMIT_DATA, denn fehlgeschlagene Speicheranforderungen sind genau der Weg dieser Lücke. Quelle: GHSA-w8hw-w9fx-j79w und GHSA-6wmf-4rv5-p3rp.
[www]; bestehende Pool-Einstellungen bleiben, wie sie sind; CVE-2026-109618, verringert das Risikophp_admin_value[memory_limit] = -1Kein Speicherlimit
CVE-2026-109618 beginnt, wenn einer Anfrage der Speicher ausgeht. Setzen Sie es mit php_admin_value fest, damit Skripte es nicht wieder senken.
php_admin_value[post_max_size] = 8Mphp_admin_value[upload_max_filesize] = 4MKleine Request-Bodys
8M ohne Uploads, 32M mit. upload_max_filesize bleibt unter post_max_size.
php_admin_value[max_input_nesting_level] = 16Flache Eingaben
Senken Sie die Verschachtelungsgrenze für Formular- und Query-Arrays. 16 ist ein Beispiel, testen Sie den Wert mit Ihrer Anwendung.
; CVE-2026-109619, verringert das Risikophp_admin_flag[session.upload_progress.enabled] = offUpload-Fortschritt aus
Der Schalter für CVE-2026-109619. Hier oder in der php.ini setzen, nie mit ini_set() oder .user.ini. Nach dem Patchen aus lassen.
php_admin_flag[log_errors] = onphp_admin_value[error_log] = /var/log/php8.3-fpm.www.logSpuren sichern
Jeden Fehler in eine Datei loggen, die Sie auch lesen, und error_reporting = E_ALL in der php.ini setzen. Ein sauberes Log beweist nichts.
; optional, kostet Durchsatzpm.max_requests = 1Eine Anfrage pro Worker
Optional und langsam. Jeder Worker beendet sich nach einer Anfrage, so bleibt kein Zustand übrig.
; danach jeden Worker neu starten$ sudo systemctl restart php8.3-fpmDer kostenlose Fix
Zuerst die Version ablesen.
php -v meldet den Kommandozeilen-Build. Fragen Sie die Binary, die Ihr Webserver ausführt, oder rufen Sie phpinfo() über die Website auf.
Dann das Paket aktualisieren.
Nehmen Sie das gepatchte Paket Ihrer Distribution oder bauen Sie die behobene Version von php.net. Ihr Changelog sollte beide CVEs nennen.
Zuletzt jeden Worker neu starten.
Laufende Worker halten das alte PHP im Speicher, bis sie neu starten. Bei mod_php starten Sie stattdessen Apache neu.
1 von 3 · ablesen
$ php-fpm8.3 -v PHP 8.3.30 (fpm-fcgi) (built: Oct 2 2026 09:14:52) Copyright (c) The PHP Group Zend Engine v4.3.30, Copyright (c) Zend Technologies
2 von 3 · aktualisieren
$ sudo apt update $ sudo apt install --only-upgrade 'php8.3-*' The following packages will be upgraded: php8.3-cli php8.3-common php8.3-fpm php8.3-opcache 4 upgraded, 0 newly installed, 0 to remove. Setting up php8.3-fpm (8.3.36-1) ...
3 von 3 · neu starten
$ sudo systemctl restart php8.3-fpm $ php-fpm8.3 -v PHP 8.3.36 (fpm-fcgi) (built: Oct 21 2026 18:40:07)
Wo Ihr PHP läuft,
bestimmt den nächsten Schritt
Jemanden fragenEigener Server
GratisPHP 8.3 aktualisierenPaket, Neustart, KontrolleGratisPHP 8.2 aktualisierenEndet am 31.12.2026GratisLaufenden Build prüfenNach dem PatchenBezahltWir patchen mit IhnenUmfang schriftlich, dann RechnungDie Quellen lesen
Jede Angabe hier verlinkt ihre Quelle und nennt das Datum unserer letzten Prüfung. Wo Quellen sich widersprechen, sagen wir es. Das ChangeLog datiert 8.5.12 und 8.4.27 auf den 22. Oktober, die Ankündigung auf den 21. Oktober. Alle zuletzt geprüft am 22. Oktober 2026.
Soll das jemand für Sie erledigen?
Sagen Sie uns, was Sie betreiben.
Bitte keine Passwörter, SSH-Schlüssel oder API-Keys einfügen. Wir antworten meist zu Bürozeiten (MEZ). Bezahlte Arbeit wird schriftlich vereinbart und in Rechnung gestellt. Incident Response bieten wir nicht an.
- hello@php2shell.dev
- Zeiten
- Montag bis Freitag, 9:00–18:00 MEZ
- Abrechnung
- Erst schriftlicher Umfang, dann Rechnung