Leitfaden zu Sicherheit und Regressionstests · CVE-2026-109618 · CVE-2026-109619

Kritische PHP-Sicherheitslücken: behobene Versionen und Regressionstests

Erfahren Sie, was CVE-2026-109618 und CVE-2026-109619 bedeuten, wie Sie das Update prüfen und ob Ihre Anwendung danach weiter funktioniert.

Recherche vom 21. Oktober 2026. Prüfen Sie vor einem Update immer die offizielle PHP-Meldung.

Klären Sie zuerst, welche Laufzeit Anfragen verarbeitet

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-ZweigAnfällig vorBehoben abSicherheits-Support
8.5< 8.5.128.5.12Unterstützt
8.4< 8.4.278.4.27Unterstützt
8.3< 8.3.368.3.36Unterstützt
8.2< 8.2.358.2.35Bis 31. Dez. 2026
8.1, 8.0 und 7.4Betroffen; EOLMinimaler Backport oder AnbieterpaketBeim Anbieter prüfen
7.3 und älterBetroffen; EOLKeine Upstream-Version genanntMigrieren; Patch nicht voraussetzen
Korrigierte Version je PHP-Zweig
PHP 8.5
Ältere Versionen8.5.12 behoben
PHP 8.4
Ältere Versionen8.4.27 behoben
PHP 8.3
Ältere Versionen8.3.36 behoben
PHP 8.2
Ältere Versionen8.2.35 behoben

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

  1. Beginnen Sie mit Diensten, die aus dem Internet erreichbar sind, und prüfen Sie, ob der Anbieter das korrigierte Paket bereitstellt.
  2. Aktualisieren Sie zuerst eine repräsentative Umgebung nach den Vorgaben des Systems, Hosters oder Images.
  3. Bauen Sie Container mit einem korrigierten Image neu und stellen Sie sie erneut bereit; ein Host-Update ändert PHP im Image nicht.
  4. Starten oder ersetzen Sie PHP-Prozesse nach Anbieteranleitung, damit sie die neue Laufzeit laden.
  5. Prüfen Sie Version und Paket in der Umgebung, die tatsächlich Anfragen erhält.
  6. Führen Sie Grundprüfungen und priorisierte Regressionstests aus.
  7. Beobachten Sie während des vereinbarten Zeitraums Fehler, Protokolle und Messwerte.
  8. 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.
  1. 01PHP-Installationen erfassen
  2. 02Patch einspielen
  3. 03Aktive Prozesse prüfen
  4. 04Abläufe testen
  5. 05Ergebnisse prüfen
  6. 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.

BereichBeispielPrüfenNützlicher Nachweis
VerfügbarkeitStart, Statusprüfung und HauptseiteProzess aktiv, erwartete Antwort und verfügbare AbhängigkeitenVersion, Umgebung, Uhrzeit und bereinigtes Protokoll
AnmeldungAnmelden, abmelden und SitzungsablaufGültige Sitzung und erwartete AbmeldungTestkonto und Ergebnis, niemals Passwort oder Cookie
BerechtigungenZugriff nach Rolle erlauben oder verweigernBerechtigungen und abgewiesene ZugriffeRolle, Ressource und tatsächliches Ergebnis
FormulareWichtigen Datensatz anlegen oder ändernValidierung, Speicherung und GeschäftsregelnKünstliche Daten und bereinigter Screenshot
APIsErfolg, Fehler und ZeitüberschreitungStatus, Felder, Anmeldung und FehlerbehandlungBereinigte Anfrage und Antwort
DateienDatei hochladen, lesen und herunterladenTyp, Größe, Ablage und BerechtigungenTestdatei und Ergebnis ohne vertrauliche Inhalte
HintergrundjobsWarteschlange, Zeitplan und WiederholungEndzustand und FehlerbehandlungJob-ID, Zeitstempel und bereinigte Ausgabe
Daten und SitzungenSpeicherung über Anfragen und Prozesse hinwegKonsistenz und Trennung von BenutzernKü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

Dieser Leitfaden ist eine QA-Information und ersetzt keine Hinweise von PHP, Betriebssystem-, Container- oder Hosting-Anbietern. Zuletzt geprüft: 21. Oktober 2026.