PHP hat Korrekturen für unterstützte Zweige veröffentlicht. Distributionen und Hosting-Anbieter können Korrekturen zurückportieren, ohne die Versionsnummer zu ändern. Prüfen Sie die Meldung des Anbieters, bevor Sie ein Paket als ungepatcht einstufen.
Was PHP gemeldet hat und warum es wichtig ist
Am 21. Oktober 2026 veröffentlichte das PHP-Projekt Korrekturen für CVE-2026-109618 und CVE-2026-109619. Unter bestimmten Bedingungen können die kritischen Laufzeitfehler nicht authentifizierte Codeausführung auf PHP-Systemen ermöglichen, die Webanfragen verarbeiten. PHP empfiehlt, solche Systeme als gefährdet zu behandeln, bis Version und Anbieter-Patch geprüft sind.
CVE-2026-109618 betrifft eine Beschädigung interner Zustände bei Speichermangel. CVE-2026-109619 beschreibt einen globalen Zustand, der Verweise auf Speicher einer vorherigen Anfrage behalten kann. Sie müssen den Angriff nicht nachstellen. Aktualisieren Sie kontrolliert und prüfen Sie anschließend die Anwendung.
Die Meldung nennt ein besonderes Risiko für Apache mit mod_php. Auch PHP-FPM, php-cgi, FrankenPHP und LiteSpeed werden aufgeführt. Das konkrete Risiko hängt von Laufzeit, Konfiguration und Anwendungspfaden ab. Übertragen Sie nicht dasselbe Angriffsszenario auf jede Installation.
Betroffene und behobene Versionen
Die Tabelle zeigt die Upstream-Versionen, die PHP am 21. Oktober 2026 veröffentlicht hat. „Behoben ab“ bezeichnet die erste korrigierte Version eines Zweigs. Betriebssystempakete, Anbieter-Images und verwaltetes PHP können einen Backport enthalten, ohne die angezeigte Versionsnummer zu ändern. Prüfen Sie daher auch den Hinweis Ihres Anbieters.
Der Sicherheits-Support für PHP 8.2 soll am 31. Dezember 2026 enden. Version 8.2.35 behebt diese CVEs in diesem Zweig; planen Sie trotzdem den Wechsel zu einer weiterhin unterstützten Version. PHP veröffentlicht für 8.1 und ältere Zweige keine regulären Releases mehr. Für 7.4, 8.0 und 8.1 gibt es minimale Quellcode-Backports; Anbieter können eigene Pakete pflegen. Prüfen Sie, welches Paket tatsächlich installiert ist.
| PHP-Zweig | Anfällig vor | Behoben ab | Sicherheits-Support |
|---|---|---|---|
| 8.5 | < 8.5.12 | 8.5.12 | Unterstützt |
| 8.4 | < 8.4.27 | 8.4.27 | Unterstützt |
| 8.3 | < 8.3.36 | 8.3.36 | Unterstützt |
| 8.2 | < 8.2.35 | 8.2.35 | Bis 31. Dez. 2026 |
| 8.1, 8.0 und 7.4 | Betroffen; EOL | Minimaler Backport oder Anbieterpaket | Beim Anbieter prüfen |
| 7.3 und älter | Betroffen; EOL | Keine Upstream-Version genannt | Migrieren; Patch nicht voraussetzen |
Vergleichen Sie Versionen innerhalb desselben Zweigs. Distributionspakete können Backports und abweichende Versionsnummern enthalten.
Vor dem Update: Bestand aufnehmen und vorbereiten
Suchen Sie alle PHP-Installationen: Serverpakete, Container, Basis-Images, Hosting-Panels, eingebettete Laufzeiten, Hintergrundprozesse und Testumgebungen. Eine Website kann mehrere Versionen verwenden. Finden Sie heraus, welcher Dienst Anfragen erhält und wer das Update verantwortet.
Dokumentieren Sie Version und Paketquelle, Betriebssystem, Webserver, Laufzeit, gegebenenfalls Image, Anwendung, Umgebung, verantwortliche Person und den Plan zur Rückkehr zur vorherigen Version. Veröffentlichen Sie `phpinfo()` nicht; es kann sensible Angaben zeigen. Nutzen Sie interne Bestandslisten und freigegebene Anbieterwerkzeuge.
Lesen Sie Anbieterhinweise und Migrationsempfehlungen, wenn Sie den PHP-Zweig wechseln. Planen Sie ein Wartungsfenster, ein wiederherstellbares Backup und klare Schritte für den Rückweg. Lassen Sie sich bei verwalteten Diensten Version und erforderlichen Neustart oder erneutes Deployment bestätigen.
Das Update sicher durchführen
- Beginnen Sie mit Diensten, die aus dem Internet erreichbar sind, und prüfen Sie, ob der Anbieter das korrigierte Paket bereitstellt.
- Aktualisieren Sie zuerst eine repräsentative Umgebung nach den Vorgaben des Systems, Hosters oder Images.
- Bauen Sie Container mit einem korrigierten Image neu und stellen Sie sie erneut bereit; ein Host-Update ändert PHP im Image nicht.
- Starten oder ersetzen Sie PHP-Prozesse nach Anbieteranleitung, damit sie die neue Laufzeit laden.
- Prüfen Sie Version und Paket in der Umgebung, die tatsächlich Anfragen erhält.
- Führen Sie Grundprüfungen und priorisierte Regressionstests aus.
- Beobachten Sie während des vereinbarten Zeitraums Fehler, Protokolle und Messwerte.
- Schlägt etwas Kritisches fehl, stoppen Sie die Bereitstellung, dokumentieren Sie den Vorfall und kehren Sie nach Plan zur vorherigen Version zurück. Eine WAF-Regel ersetzt den Patch nicht.
- 01PHP-Installationen erfassen
- 02Patch einspielen
- 03Aktive Prozesse prüfen
- 04Abläufe testen
- 05Ergebnisse prüfen
- 06Bereitstellung entscheiden
Regressionstests planen
Regressionstests nach einem Patch sollen unbeabsichtigte Folgen in der Anwendung und ihren Integrationen finden. Sie beweisen nicht, dass PHP frei von Sicherheitslücken ist, und ersetzen keine Sicherheits-, Abhängigkeits- oder Konfigurationsprüfung.
Grenzen Sie die Änderung ab: PHP-Version, Dienste, Konfiguration, Erweiterungen, Abhängigkeiten und Umgebungen. Erfassen Sie Abläufe, die PHP nutzen, und gemeinsam verwendete Prozesse, Sitzungen, Caches, Dateien oder Warteschlangen. Priorisieren Sie nach Geschäftsauswirkung, Erreichbarkeit und Wiederherstellungsaufwand. Halten Sie unbekannte Abhängigkeiten als offenes Risiko fest.
Teilen Sie die Tests auf: Grundprüfungen für Verfügbarkeit und wichtige Funktionen, gezielte Tests für geänderte oder abhängige Abläufe und eine breitere Suite für besonders wichtige Komponenten. Halten Sie Version, Umgebung und Testdaten fest, damit Ergebnisse nachvollziehbar und wiederholbar sind.
Beispiele für Testfälle
Passen Sie die Beispiele an Ihre Architektur und Geschäftsregeln an. Sie sind kein allgemeines Testpaket. Entfernen Sie Unpassendes und ergänzen Sie eigene Abläufe, Erweiterungen und Schnittstellen. Verwenden Sie Testkonten und künstliche Daten, keine echten Zugangsdaten oder personenbezogenen Informationen.
| Bereich | Beispiel | Prüfen | Nützlicher Nachweis |
|---|---|---|---|
| Verfügbarkeit | Start, Statusprüfung und Hauptseite | Prozess aktiv, erwartete Antwort und verfügbare Abhängigkeiten | Version, Umgebung, Uhrzeit und bereinigtes Protokoll |
| Anmeldung | Anmelden, abmelden und Sitzungsablauf | Gültige Sitzung und erwartete Abmeldung | Testkonto und Ergebnis, niemals Passwort oder Cookie |
| Berechtigungen | Zugriff nach Rolle erlauben oder verweigern | Berechtigungen und abgewiesene Zugriffe | Rolle, Ressource und tatsächliches Ergebnis |
| Formulare | Wichtigen Datensatz anlegen oder ändern | Validierung, Speicherung und Geschäftsregeln | Künstliche Daten und bereinigter Screenshot |
| APIs | Erfolg, Fehler und Zeitüberschreitung | Status, Felder, Anmeldung und Fehlerbehandlung | Bereinigte Anfrage und Antwort |
| Dateien | Datei hochladen, lesen und herunterladen | Typ, Größe, Ablage und Berechtigungen | Testdatei und Ergebnis ohne vertrauliche Inhalte |
| Hintergrundjobs | Warteschlange, Zeitplan und Wiederholung | Endzustand und Fehlerbehandlung | Job-ID, Zeitstempel und bereinigte Ausgabe |
| Daten und Sitzungen | Speicherung über Anfragen und Prozesse hinweg | Konsistenz und Trennung von Benutzern | Künstliche IDs und Vorher-Nachher-Status |
Wann sind die Tests abgeschlossen?
Legen Sie vorher fest, welche Fehler die Bereitstellung stoppen. Fahren Sie nicht fort, wenn Anmeldung, Berechtigungen, ein wichtiger Vorgang, Datenintegrität oder eine zentrale Schnittstelle fehlschlagen, die korrigierte Version nicht bestätigt ist oder neue Fehler ungeklärt bleiben. Ein wegen Umgebung oder Daten blockierter Test gilt nicht als bestanden.
Vergleichen Sie zum Abschluss die Abdeckung mit dem Änderungsumfang. Prüfen Sie Fehler, blockierte und offene Tests, Nachweise und verbleibende Risiken. Eine grüne Testsuite bestätigt nur die ausgeführten Fälle; sie beweist nicht, dass alle Server korrigiert sind.
Abschluss-Checkliste
- Der Bestand umfasst Server, Container und Anbieter-Dienste.
- Paketquelle und geprüfter Sicherheitshinweis sind dokumentiert.
- Anfragen verarbeitende Prozesse wurden wie empfohlen neu gestartet.
- Version, Umgebung und Testdaten stehen bei jedem Ergebnis.
- Fehler und offene Risiken haben eine verantwortliche Person.
- Geheimnisse und personenbezogene Daten wurden aus Nachweisen entfernt.
Testergebnisse nachvollziehbar festhalten
Mit Treseko kann das Team Testfälle, Suites, Versionen, Ausführungen, Ergebnisse, Fehler und Anhänge organisieren. Die Tests müssen im eigenen Umfeld eingerichtet und ausgeführt werden. Treseko installiert den Patch nicht und findet nicht automatisch jede PHP-Installation.
Offizielle Quellen und hilfreiche Links
- Offizielle PHP-Sicherheitsmeldung
- Sicherheitshinweis CVE-2026-109618 (PHP/GitHub)
- Sicherheitshinweis CVE-2026-109619 (PHP/GitHub)
- Unterstützte PHP-Versionen
- Offizielle PHP-Downloads
- Offizielle PHP-8.5-Migrationsanleitung
Dieser Leitfaden ist eine QA-Information und ersetzt keine Hinweise von PHP, Betriebssystem-, Container- oder Hosting-Anbietern. Zuletzt geprüft: 21. Oktober 2026.