Kritische Sicherheitsmeldung: PHP2Shell · CVSS 4.0 9.2Quellen geprüft: 22. Oktober 2026

PHP2Shell-Versionsprüfung

Web-Laufzeit vergleichen, Bereitstellung wählen und Änderungen prüfen. Kostenlos, ohne Serverzugangsdaten.

1. Ihre PHP-Version

Lokaler Vergleich mit den PHP2Shell-Advisories, kein Netzwerkscan. Prüfen Sie die Web-SAPI: PHP CLI kann eine andere Binärdatei oder INI-Datei verwenden.

PHP-Version unbekannt

WordPress → Werkzeuge → Website-Zustand → Bericht → Server: vollständige PHP-Version ablesen; Paketrevision beim Anbieter erfragen.

WordPress · Docs

Nur authentifizierte Diagnostik nutzen; keine öffentliche phpinfo-Seite hinterlassen. Vollständige Version oben eingeben.

Anwendungstests (optional): WordPress / WooCommerce · PHP 8.3.x

Upstream-Fixes: 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12

Nur ein Zweigbeispiel; für die Patchbewertung die genaue Version eingeben.

Bereitstellung wählen

2. Passende Maßnahmen wählen

Ihr Zugriff / Web-Bereitstellung

Zuerst Zugriff und Bereitstellung wählen.

3. Maßnahmen überprüfen

Beobachtungen nach Änderungen festhalten. Keine automatische Ausführung; Aufzeichnungen bleiben nur in dieser Seitensitzung.

Passende Bereitstellung und Vorlage wählen, um Prüfschritte zu sehen.

  1. 1. Vor der Änderung

    Paket-/Imageversionen und Einstellungen erfassen; geprüftes Backup und Wiederherstellungsplan bereithalten. Ein verwundbarer Rollback ist keine abgeschlossene Behebung.

  2. 2. Anwenden und Worker ersetzen

    Beide Patches installieren. Syntax, Ersatz aller Worker/Replikate und gesunden Anwendungsverkehr prüfen. Eine TCP-Probe genügt nicht.

  3. 3. Web-Laufzeit prüfen

    Nur bestehende authentifizierte Web-Diagnostik nutzen. Web-Version mit Patchmatrix oder bestätigtem Anbieterhinweis vergleichen; alle Ursprünge/Replikate prüfen und temporäre Diagnostik entfernen.

  4. 4. Anwendung testen

    Login, Uploads und Fortschritt testen. Neue Protokollfehler sowie normalen Verkehr vor und nach der Änderung vergleichen.

    WordPress: Medien, Login und gegebenenfalls WooCommerce-Kasse.

Öffentliche HTTP-Header und PHP-Version live prüfen

Prüft die anonyme Antwort einer öffentlichen Startseite. Diese optionale Abfrage läuft über unseren Dienst; der Versionsvergleich darunter bleibt lokal im Browser. Keine Anmeldung oder Server-Zugangsdaten erforderlich.

Nur Startseiten über HTTP/HTTPS und Standardports. Keine Pfade, Abfragen, IP-Adressen oder Zugangsdaten. Weiterleitungen werden nicht verfolgt. Zeitlimit: insgesamt fünf Sekunden.

PHP2Shell (CVE-2026-109618 und CVE-2026-109619) umfasst kritische Schwachstellen zur entfernten Codeausführung in der Verarbeitung des PHP-Anfragelebenszyklus. Fehler beim Aufräumen nach Speichermangel und verbliebener Zustand zwischen Anfragen können Web-Worker gefährden. multipart/form-data und session.upload_progress spielen bei bestimmten Pfaden eine Rolle, beschreiben jedoch nicht die gesamte Ursache. Ein Upload-Formular ist nicht für jede betroffene Installation erforderlich. Die Ausnutzbarkeit hängt von SAPI, Anwendung, Erweiterungen und Konfiguration ab. Prüfen Sie mit diesem PHP2Shell-Werkzeug die tatsächlich verwendete PHP-Version und bereiten Sie abgestufte Kontrollen für php.ini, Nginx, Apache, Docker und Cloudflare WAF vor. Anwendungsanmeldung und CSRF-Middleware ersetzen keine Sicherheitsupdates der Laufzeit.

PHP2Shell: die wichtigsten Fakten zur Reaktion

Sicherheitslücken
PHP2Shell bezeichnet CVE-2026-109618 und CVE-2026-109619. Das PHP-Projekt bewertet die Schwachstellen mit CVSS 4.0 9.2, also kritisch.
Ursache
Beschädigte Bereinigung bei Speichermangel und veralteter globaler Zustand zwischen Anfragen. session.upload_progress ist ein relevanter Pfad; allein nach PHP_SESSION_UPLOAD_PROGRESS zu filtern deckt beide CVEs nicht ab.
Behobene Versionen
Upstream-Fixes sind in PHP 8.2.35+, 8.3.36+, 8.4.27+ und 8.5.12+ enthalten. PHP 8.1 und ältere Zweige benötigen eine Migration oder einen nachgewiesenen Sicherheits-Backport des Anbieters.
Sofortige Eindämmung
session.upload_progress.enabled = Off und FastCGI-Vorgaben können einen Teil der Angriffsfläche reduzieren. Um PHP2Shell vollständig zu beheben, müssen beide Patches installiert und sämtliche alten Worker ersetzt werden.
Kompatibilität
Normale $_FILES-Uploads in WordPress, Laravel, Drupal, Symfony und Magento sind unabhängig von der Sitzungs-Fortschrittsanzeige. Eigene Abfragen des Upload-Fortschritts können jedoch betroffen sein und müssen getestet werden.

PHP2Shell-Audit per CLI und Log-Forensik

Nutzen Sie lokale, lesende Diagnosen zur Konfiguration und zur Suche nach Auffälligkeiten. Prüfen Sie die erforderlichen Berechtigungen und sichern Sie relevante Beweise vor Änderungen.

CLI-Werte müssen nicht der Web-SAPI entsprechen. Übliche Access-Logs enthalten weder Anfragetext noch Cookies. grep durchsucht hier nur unkomprimierte Dateien. Treffer können legitim sein; ausbleibende Treffer beweisen keine Sicherheit. Beziehen Sie rotierte Logs und weitere Überwachungssysteme ein.

PHP2Shell: Laufzeitkonfiguration per CLI prüfen

Zeigt die aktive PHP-CLI-Version und den Wert von session.upload_progress.enabled. Vergleichen Sie das Ergebnis separat mit der Web-SAPI. Ein deaktivierter Wert ist weder ein vollständiger PHP2Shell-Fix noch ein Nachweis, dass keine Kompromittierung stattgefunden hat.

php -r 'echo "PHP Version: ".PHP_VERSION."
Upload Progress: ".(ini_get("session.upload_progress.enabled") ? "ENABLED (review web SAPI)" : "DISABLED (not a safety verdict)")."
";'

Serverlogs nach PHP2Shell-Indikatoren durchsuchen

Sucht unkomprimierte HTTP-Access- und Error-Logs nach PHP_SESSION_UPLOAD_PROGRESS und PHP-FPM-Abstürzen mit SIGSEGV. Prüfen Sie die erfassten Datenquellen und ergänzen Sie rotierte Logs sowie Prozess- und Verbindungsdaten.

sudo grep -rnE "PHP_SESSION_UPLOAD_PROGRESS|SIGSEGV.*php-fpm" /var/log/nginx/ /var/log/apache2/ /var/log/php* 2>/dev/null

PHP2Shell: WordPress-Audit und IDS-Regeln

Verwenden Sie WP-CLI und lokale Suricata/YARA-Heuristiken zusammen mit den Anbieterhinweisen. Diese Prüfungen scannen keinen entfernten Host und bestätigen nicht, dass jeder PHP2Shell-Angriffsweg blockiert wurde.

PHP2Shell: WordPress-Integrität mit WP-CLI

Als Website-Eigentümer im WordPress-Wurzelverzeichnis ausführen. Vergleicht veröffentlichte Core- und Plugin-Prüfsummen, soweit verfügbar. Eigener und kostenpflichtiger Code benötigt eine separate Integritätsprüfung. Daraus lässt sich der PHP-Patchstand nicht ableiten.

wp core version
wp core verify-checksums
wp plugin verify-checksums --all --strict
wp eval 'echo PHP_VERSION, PHP_EOL, PHP_SAPI, PHP_EOL;'
PHP2Shell: lokale Suricata-HTTP-Indikatorregel

Eine lokale Heuristik, keine bestätigte Exploit-Signatur. Benötigt Sicht auf unverschlüsseltes HTTP oder Daten nach TLS-Terminierung und ausreichende Body-Inspektion. Prüfen Sie Alarme, bevor Sie Gegenmaßnahmen automatisieren.

alert http $EXTERNAL_NET any -> $HOME_NET any (msg:"LOCAL upload progress marker observed - investigate"; flow:established,to_server; http.request_body; content:"PHP_SESSION_UPLOAD_PROGRESS"; nocase; classtype:misc-activity; sid:9900618; rev:1;)

# Validate with your installed Suricata version before loading:
# suricata -T -c /etc/suricata/suricata.yaml -S local.rules
PHP2Shell: YARA-Regel für Datei-Triage

Breite lokale Heuristik zur Vorauswahl auffälliger PHP-Dateien. Auch legitimer Code kann passen; Treffer beweisen keine Kompromittierung. Die Regel erkennt nicht diesen Speicherfehler-Exploit selbst und untersucht keinen verschlüsselten Netzwerkverkehr.

rule Local_Suspicious_PHP_Execution_Review
{
  meta:
    description = "PHP file triage only; manual review required"
  strings:
    $php = "<?php" nocase
    $decode = /base64_decode\s*\(/ nocase
    $exec = /(eval|shell_exec|system|passthru)\s*\(/ nocase
  condition:
    filesize < 2MB and $php and $decode and $exec
}

// Save as triage.yar; run: yara -r triage.yar /var/www/html

PHP2Shell auf mehreren Servern oder älteren WordPress-Installationen verwalten

Manuelle Änderungen an php.ini auf zahlreichen VPS oder gemeinsam genutzten cPanel-Konten hinterlassen leicht Lücken. Reduzieren Sie die PHP2Shell-Angriffsfläche durch verwaltete WAF-Kontrollen und verfolgen Sie gleichzeitig nachgewiesene Laufzeit-Updates auf jedem Ursprungsserver.

Cloudflare Managed WAF

Klären Sie mit dem Anbieter, welche verwalteten Regeln fehlerhafte multipart-POST-Anfragen und PHP2Shell abdecken. Keine allgemeine Edge-Regel ersetzt beide Laufzeit-Patches. Stimmen Sie die Origin-Zugriffsrichtlinie mit dem Proxy ab.

PHP2Shell-WAF-Konfiguration ansehen

Sucuri Website Security & WAF

Bei EOL-PHP 7.4 und Shared Hosting ohne Zugriff auf systemweite php.ini-Dateien fragen Sie nach verifizierten Backports, Vorfallsbehandlung und den Grenzen verwalteter Filterung. Halten Sie je Konto den Patchnachweis fest.

Apache-Bereitstellung prüfen

Verifizierte Updates und gestaffelter Austausch

Erfassen Sie Paketrevisionen und Image-Digests für jeden Host, Container und Pool. Prüfen Sie neue Worker unter dem Load Balancer, bevor Sie alte Verbindungen auslaufen lassen. Testen Sie Anwendungsgesundheit und verbleibende Kapazität.

Docker- und Kubernetes-Beispiele ansehen

Die PHP2Shell Sicherheitslücke: technische Analyse und Abwehr

1. Weshalb PHP2Shell auch ohne Upload-Formular geprüft werden muss

Die PHP2Shell Sicherheitslücke ist kein Fehler eines einzelnen CMS-Plugins oder Upload-Formulars. Sie betrifft die PHP-Laufzeit selbst, ihre Anfrageverarbeitung und die Verwaltung von Zustand. Erfassen Sie deshalb alle öffentlich erreichbaren PHP-Endpunkte, verwendete SAPIs, Erweiterungen, Fehlerbehandlung und tatsächlich geladene Konfigurationen. Eine Anmeldung oder CSRF-Prüfung kann erst stattfinden, nachdem die Laufzeit bereits Teile der Anfrage verarbeitet hat. Das Fehlen einer sichtbaren Upload-Funktion oder eines bestimmten Markers ist daher kein belastbarer Nachweis einer sicheren Installation.

multipart/form-data und session.upload_progress helfen, einen Teil der PHP2Shell-Angriffspfade zu verstehen. Die offiziellen Berichte beschreiben jedoch zwei Probleme: beschädigte Bereinigung bei Speichermangel und über Anfragen hinweg verbliebenen globalen Zustand. Daraus folgt nicht, dass das Blockieren eines einzelnen POST-Feldes beide Probleme löst. Prüfen Sie stattdessen, ob das konkrete Paket beide vollständigen Korrekturen enthält. Beziehen Sie dabei Anbieterrevisionen, Distributions-Backports und die Herkunft eines Container-Images ein.

2. Upload-Fortschritt deaktivieren: Wirkung und Grenzen

PHP kann den Fortschritt eines laufenden Uploads in Sitzungsdaten speichern. session.upload_progress.enabled = Off schaltet diese Funktion ab und reduziert die Angriffsfläche eines relevanten Sitzungspfads. Die normale $_FILES-Verarbeitung ist davon getrennt: Das Abschalten deaktiviert nicht automatisch alle Datei-Uploads. Eigene Fortschrittsanzeigen, Polling, Plugins und große oder lange Übertragungen können dennoch betroffen sein. Testen Sie Medien-Uploads und vollständige Arbeitsabläufe in Ihrer konkreten Anwendung, bevor Sie die Änderung flächendeckend ausrollen.

Die Einstellung muss für die Web-SAPI gelten, nicht nur für eine Shell-Sitzung. FPM-Pools und Container können unterschiedliche INI-Dateien laden; nach einem sanften Neuladen können alte Worker weiterarbeiten. Trennen Sie deshalb den Nachweis der Konfiguration vom Nachweis des gepatchten PHP-Builds. Um PHP2Shell zu beheben, muss jeder Worker den korrigierten Build verwenden. Für PHP 8.5 sind weitere Startoptionen wie fatal_error_backtraces ausschließlich im Zusammenhang mit den offiziellen Advisories und Ihrer Anwendung zu bewerten.

PHP2Shell beheben: vollständige Patches und temporäre Maßnahmen im Vergleich

Vergleichen Sie Abdeckung, Betriebsfolgen und Eignung für EOL-Systeme. Wählen Sie eine Zeile für Details und die passende Konfiguration. Das Abschalten des Upload-Fortschritts ist keine vollständige PHP2Shell-Behebung.

PHP2Shell beheben: vollständige Patches und temporäre Maßnahmen im Vergleich
MaßnahmeAbdeckungBetriebsfolgenFür EOLWesentliche Grenze
Vollständige Upstream-FixesAlle Worker ersetzenMigration oder Anbieter-PatchPaketquelle und beide CVE-Fixes verifizieren
Teil eines SitzungspfadsPHP-Worker neu starten / ersetzenJaFortschrittsfunktionen testen und PHP vollständig patchen
Teil eines SitzungspfadsNginx neu laden, PHP-Worker prüfenJaStartkonfiguration bevorzugen; Parameter zusammenführen
Heuristisch / anbieterabhängigEdge-Regel meist ohne PHP-NeustartJaInspektionsgrenzen, Fehlalarme und Origin-Umgehung

Vollständige PHP2Shell-Behebung erfordert einen gepatchten, unterstützten Build und den Austausch aller Worker. Bei älterer angezeigter Upstream-Version muss der konkrete Backport nachgewiesen werden.

Offizielles Patch-Advisory lesen

3. Mehrschichtige Abwehr: Edge-Filter und Laufzeit-Updates kombinieren

Bei PHP2Shell gehören Expositionsbegrenzung, vollständiges Patchen und Vorfallsprüfung zusammen. Inventarisieren Sie sämtliche Ursprungsserver, Worker, Container, Hosting-Panels und Hintergrunddienste. Prüfen Sie WAF-Berechtigungen, Parsing-Grenzen und Wege, die den Proxy umgehen. Beobachten Sie legitimen Datenverkehr, bevor Sie strengere Regeln aktivieren, damit Fehlalarme keine unnötigen Ausfälle verursachen. Eine überprüfbare, schrittweise Einführung ist besonders bei mehreren Kundeninstallationen sinnvoll.

Für hohe Verfügbarkeit benötigen Sie gesunde Reserve-Replikate, geprüfte Bereitschaft und das geordnete Auslaufen bestehender Verbindungen. Ein restart oder reload allein garantiert keinen unterbrechungsfreien Betrieb. Halten Sie einen betrieblichen Rückfallplan bereit, ohne auf einen verwundbaren PHP-Build zurückzurollen. Ein gepatchter Stand verhindert die erneute Ausnutzung der behobenen Fehler, entfernt aber weder vorhandene Webshells noch gestohlene Zugangsdaten. Sichern Sie Logs und untersuchen Sie unerwartete Dateien, Kindprozesse und ausgehende Verbindungen. Fehlende Abstürze oder Marker beweisen nicht, dass kein Einbruch stattgefunden hat.

PHP2Shell: Primärquellen und Verifikation

Geprüft am 22. Oktober 2026. Unabhängiges Werkzeug zur defensiven PHP2Shell-Reaktion. Prüfen Sie vor Produktivänderungen erneut die Upstream-Advisories und das genaue Anbieterpaket.

Häufige Fragen zur PHP2Shell Sicherheitslücke

Konkrete Antworten für Entwicklung und Betrieb: PHP2Shell prüfen, Verfügbarkeit erhalten und die Laufzeit vollständig aktualisieren.

PHP2Shell bezeichnet zwei kritische PHP-Laufzeitfehler mit CVSS 4.0 9.2. Die offiziellen Berichte beschreiben beschädigte Bereinigung bei Speichermangel und veralteten globalen Zustand zwischen Anfragen. Unter betroffenen Bedingungen ist entfernte Codeausführung möglich. session.upload_progress ist ein relevanter Pfad, nicht die gesamte Ursache. Bewerten Sie die ausliefernde SAPI, Anwendung und Erweiterungen anhand beider PHP-Advisories.