PHP2Shell: Kritische PHP-Lücke – jetzt Website prüfen

Kostenloses Erstgespräch

Zwei kritische Sicherheitslücken in PHP, der Programmiersprache hinter einem Großteil aller Websites, wurden am 21. Oktober per Notfall-Update geschlossen. Angriffe laufen bereits. Wer eine Website mit WordPress, WooCommerce, Joomla, Drupal oder Ähnlichem betreibt, sollte heute klären, ob der Server schon gepatcht ist.

Das Thema kurz und kompakt

  • PHP2Shell besteht aus zwei Lücken im PHP-Kern (CVE-2026-109618 und CVE-2026-109619), bewertet mit 9,2 von 10 („kritisch“).
  • Angreifer können ohne Anmeldung Code auf dem Server ausführen oder Arbeitsspeicher auslesen. Darin können Passwörter, Zugangsschlüssel und Sitzungsdaten stehen.
  • Behoben ist das in PHP 8.5.12, 8.4.27, 8.3.36 und 8.2.35. Für PHP 8.1 und älter gibt es kein offizielles Update.
  • Angriffe laufen: Cloudflare blockt seit dem 21. Oktober Angriffsversuche, Amazon registrierte schon am 17. Oktober einen Versuch, vier Tage vor der Veröffentlichung.
  • Das BSI warnt mit Kritikalität 3 von 4 (orange) und rechnet mit kurzfristiger Ausnutzung.
  • Gefunden wurden die Lücken auch mit Hilfe von KI-Modellen.

Was ist passiert?

Entdeckt haben die Lücken mehrere Forschungsteams, darunter Calif.io, Wiz, OpenAI und Quarkslab. Wiz fand den ersten Fehler am 19. August mit Hilfe von KI-Modellen, am 24. August ging die Meldung an das PHP-Team. Eigentlich sollte alles bis Donnerstag, 22. Oktober, geheim bleiben. Am 20. Oktober tauchten jedoch Details und Screenshots eines Angriffs-Tools namens „PHP2Shell“ im Netz auf. Das PHP-Team zog den Termin daraufhin vor und veröffentlichte die Updates am Nachmittag des 21. Oktober. Am selben Tag warnten das BSI, die EU-Behörde CERT-EU und die US-Behörde NSA. Erste Websites gingen vorsorglich offline, darunter laut Berichten auch Seiten deutscher Behörden und Kommunen. Seit Mittwochabend und in der Nacht zu Donnerstag liefern Linux-Anbieter wie Debian, Ubuntu, Red Hat und SUSE sowie Hosting-Panels wie Plesk, cPanel und DirectAdmin gepatchte Pakete aus.

Worum es technisch geht

Beide Lücken haben dieselbe Wurzel: Bricht PHP eine Anfrage mitten drin ab, etwa weil der Arbeitsspeicher voll ist, räumt es danach mit Daten weiter, die halb fertig oder schon wieder freigegeben sind. Stell Dir ein Büro vor, das nach einer Störung mit Notizen weiterarbeitet, die schon im Papierkorb liegen. Angreifer können das gezielt auslösen und dabei eigenen Code einschleusen. Bei der zweiten Lücke braucht es dafür mindestens zwei Anfragen hintereinander. Bei der ersten lässt sich zusätzlich Arbeitsspeicher auslesen, selbst ohne Codeausführung, unabhängig von der Anwendung. Wiz zeigte, dass sich beide Lücken zu einem Angriff ohne Anmeldung auf WordPress, Drupal und Joomla in ihren aktuellen Standard-Installationen kombinieren lassen.

Wer ist betroffen?

Grundsätzlich jede Website, die auf PHP läuft: WordPress, WooCommerce, Joomla, Drupal, Magento, TYPO3, Shopware und viele mehr. Nach Angaben des PHP-Teams sind alle PHP-Installationen gefährdet, die Web-Anfragen bedienen. Am höchsten ist das Risiko bei Apache mit mod_php, dort läuft ein Angriff ab, bevor Dein CMS überhaupt startet. Bei PHP-FPM, der verbreiteten Alternative, ist ein Angriff bestätigt, setzt aber einen passenden Ablauf in der Anwendung voraus. Wichtig: Ein aktuelles WordPress schützt nicht, denn die Lücke steckt im Fundament darunter. Nur wer PHP gar nicht einsetzt, ist nicht betroffen.

Bei den Versionen gilt: Für PHP 8.2 bis 8.5 gibt es offizielle Fixes. PHP 8.1 und älter erhalten kein offizielles Release. Hier helfen Pakete von Linux-Distributionen und Hostern, Quellcode-Backports des PHP-Teams oder ein Upgrade. Wie weit die Lücken in alte Versionen zurückreichen, wird unterschiedlich angegeben: Wiz nennt alle Versionen ab PHP 5.4, das BSI hält alle bis mindestens PHP 5 für verwundbar.

Wie ernst ist die Lage?

Sehr ernst. Cloudflare blockt seit dem frühen Morgen des 21. Oktober Angriffsversuche und hat Schutzregeln für alle Tarife aktiviert, auch den kostenlosen. Sie ersetzen das Update aber nicht, weil Angreifer ihre Anfragen anpassen. CERT-EU meldet erste öffentliche Beispiel-Angriffe, das BSI hält eine breite Ausnutzung innerhalb weniger Stunden nach Erscheinen der Patches für wahrscheinlich. Ein Zeitfenster zum Abwarten gibt es nicht: Sobald ein Patch erscheint, vergleichen Angreifer den Code mit der alten Version und bauen daraus Angriffe.

Das solltest Du jetzt tun

  1. Klären, wer Deine Website betreut. Frag Deinen Hoster oder Deine Agentur, ob PHP auf eine gepatchte Version aktualisiert und neu gestartet wurde. Bei Linux-Paketen zählt der Sicherheitshinweis der Distribution, nicht die Versionsnummer.
  2. Bei eigenen Servern: PHP aktualisieren, alle PHP-Prozesse bzw. den Webserver neu starten und die Version über den Webserver prüfen. Der Befehl php -v zeigt nur die Kommandozeilen-Version. In WordPress findest Du die tatsächlich genutzte Version unter Werkzeuge → Website-Zustand → Bericht → Server.
  3. Wenn ein Update nicht sofort geht: Übergangsmaßnahmen wie das Abschalten von „Session Upload Progress“ verringern das Risiko, machen den Server aber nicht sicher. Das BSI kennt keine zuverlässigen Workarounds und nennt als Option, den Server vorübergehend vom Internet zu trennen. Für Shops und Formulare bedeutet das einen Ausfall, wäge also sorgfältig ab.
  4. Docker und Geräte: Container müssen neu gebaut und gestartet werden, ein Update des Hosts reicht nicht. Geräte mit eingebautem PHP, etwa Firewalls, brauchen neue Firmware des Herstellers.
  5. Nach dem Update auf Spuren prüfen: neue PHP-Dateien in Upload- oder Web-Ordnern, neue Administrator:innen, Cronjobs oder Benutzerkonten. Das Update entfernt eine bereits eingeschleuste Hintertür nicht. War Dein Server längere Zeit ungepatcht erreichbar, solltest Du Passwörter, Sitzungs-Tokens und API-Schlüssel vorsorglich wechseln.
  6. Alte PHP-Version? Plane das Upgrade auf einen unterstützten Zweig, jetzt ist der Anlass.

Das Bundesamt für Sicherheit und Informationsschutz veröffentlicht ebenfalls regelmäßig aktuelle Updates.

Die Lücke wurde mit KI gefunden

Bemerkenswert ist, wie PHP2Shell entdeckt wurde: Wiz nutzte nach eigenen Angaben seine Plattform Wiz Atlas zusammen mit KI-Modellen von Google und OpenAI, auch OpenAI konnte die Lücken mit eigenen Modellen nachvollziehen und half bei der Prüfung des Patches. Aus Sicht der Forschenden haben KI-Modelle die Hürde gesenkt, aus einem lange bekannten Fehler einen funktionierenden Angriff zu bauen. Das gilt für Verteidiger:innen und Angreifer:innen gleichermaßen. Für Unternehmen heißt das: Das Tempo zwischen Entdeckung und Ausnutzung wird kürzer, Updates müssen schneller laufen.

Fazit

  • PHP2Shell betrifft potenziell jede PHP-Website, unabhängig davon, wie aktuell WordPress und Plugins sind.
  • Die Patches sind da, Angriffe laufen, das Update ist die einzige vollständige Lösung.
  • Für PHP 8.1 und älter gibt es kein offizielles Update, hier braucht es Backports vom Hoster oder ein Upgrade.
  • Nach dem Update lohnt sich der Blick auf Spuren eines möglichen Angriffs.

Mit Distart in die Welt der künstlichen Intelligenz einsteigen

Jetzt kostenlose Beratung sichern und Karriere starten! Lass Dich unverbindlich beraten, welche Weiterbildung perfekt zu Deinen Zielen passt und welche Förderung Dir möglicherweise zusteht. Wir begleiten Dich auf Deinem Weg in einen zukunftssicheren neuen KI-Beruf.

Vereinbare hier Dein kostenloses Erstgespräch

Häufig gestellte Fragen

Nein. Die Lücke steckt in PHP auf dem Server. Das Update muss bei Deinem Hoster oder auf Deinem Server eingespielt werden, nicht im CMS.
Sie senkt das Risiko, ersetzt aber das Update nicht. Cloudflares Regeln erkennen bekannte Angriffsmuster, Angreifer verändern ihre Anfragen jedoch gezielt.
Wenn Dein Server längere Zeit ungepatcht erreichbar war, ja, vorsorglich. Über die Lücke lässt sich Arbeitsspeicher auslesen, darin können Passwörter, Sitzungs-Tokens und API-Schlüssel stehen.
PHP 8.5.12, 8.4.27, 8.3.36 und 8.2.35 oder neuer. Bei Paketen Deiner Linux-Distribution zählt deren Sicherheitshinweis.