Am 21. Oktober 2026 wurden zwei kritische Sicherheitslücken in PHP öffentlich, die unter dem Namen «PHP2Shell» bekannt sind (CVE-2026-109618 und CVE-2026-109619, CVSS 9.2). Noch am selben Tag reagierten mehrere Kantone, Hochschulen und Hoster in der Schweiz: Basel-Stadt schaltete seine Websites präventiv ab, der Kanton Bern nahm die Plattform eBau vom Netz, die Websites der Universität Genf und der EPFL waren nicht erreichbar, und auch die Universität Basel war betroffen. Der Hoster Cyon stellte sein gesamtes Hosting vorübergehend ab, was Tausende Websites betraf. Das Bundesamt für Cybersicherheit (BACS) stuft die Lücken als kritisch ein.
Was steckt dahinter, warum gingen ausgerechnet Behörden vom Netz, und was müssen Schweizer KMU jetzt tun? Wir erklären es Schritt für Schritt.
Was ist PHP überhaupt?
PHP ist eine Skriptsprache, die auf dem Webserver läuft und nicht im Browser der Besucherinnen und Besucher. Sie erzeugt Webseiten dynamisch: Sie liest Inhalte aus einer Datenbank, verarbeitet Formulare, verwaltet Logins und baut daraus die Seite zusammen, die im Browser angezeigt wird.
PHP ist enorm verbreitet. Rund 75 % aller Websites, deren Server-Technologie bekannt ist, setzen darauf. Dazu gehören die meisten bekannten Content-Management- und Shop-Systeme wie WordPress, Joomla, Drupal, Shopware, WooCommerce und Magento. Wer eine Firmenwebsite oder einen Onlineshop betreibt, nutzt also mit grosser Wahrscheinlichkeit PHP, oft ohne es zu wissen.
Wie funktioniert PHP?
Vereinfacht läuft jeder Seitenaufruf so ab:
- Browser: Sie rufen eine Seite auf oder senden ein Formular ab. Der Browser schickt eine HTTP-Anfrage an den Server.
- Webserver: Ein Webserver wie Apache oder Nginx nimmt die Anfrage entgegen.
- PHP-FPM: Der Webserver gibt die Anfrage an den PHP-Prozess weiter, meist PHP-FPM. PHP liest die Anfrage ein und führt dann den Code der Anwendung aus, etwa von WordPress.
- Datenbank: Die Anwendung holt die nötigen Daten aus der Datenbank, zum Beispiel Texte, Produkte oder Kundendaten.
- Antwort: PHP erzeugt daraus HTML, das über den Webserver an den Browser zurückgeht.
Für das Verständnis von PHP2Shell ist Schritt 3 entscheidend: Bevor der Code der Anwendung überhaupt startet, muss PHP die eingehende Anfrage zerlegen und verarbeiten.
Was ist PHP2Shell?
Genau in diesem Schritt liegt der Fehler. Die Lücken stecken im Teil der PHP-Engine, der HTTP-Anfragen einliest, also noch bevor WordPress, Shopware oder eine eigene Anwendung zum Zug kommt. Darum schützen weder ein aktuelles CMS noch ein sicheres Framework allein davor.
Für einen Angriff genügt eine einfache POST-Anfrage, wie sie jedes Kontaktformular sendet. Ein Login ist nicht nötig, und niemand muss auf einen Link klicken. Gelingt der Angriff, kann die angreifende Person eigenen Code auf dem Server ausführen (Remote Code Execution), und zwar mit den Rechten des Webservers. Sie erhält damit faktisch eine «Shell», also eine Kommandozeile auf dem Server. Daher stammt der Name PHP2Shell.
Betroffen sind alle PHP-Versionen ab 5.4. Das umfasst praktisch jede PHP-Installation, die heute noch im Einsatz ist.
Am stärksten gefährdet sind Server, auf denen PHP direkt als Apache-Modul läuft (mod_php). Dort hat das PHP-Projekt einen vollständigen Angriff ohne jede Voraussetzung bestätigt. Die meisten Hoster setzen heute auf PHP-FPM. Diese Variante ist schwerer anzugreifen, aber ebenfalls verwundbar und muss genauso aktualisiert werden.
Warum gingen Behörden vom Netz?
Dass Kantone und Hochschulen ihre Websites abschalteten, hat mehrere Gründe:
- Der Angriffscode war öffentlich, bevor es einen Patch gab: Ein Proof of Concept (PoC) ist vorzeitig durchgesickert. Damit konnte die Lücke ausgenutzt werden, bevor Betreiber reagieren konnten.
- Botnetze scannen massenhaft: Kurz nach dem Leak begannen automatisierte Scans nach erreichbaren PHP-Servern. Wer online ist, wird gefunden.
- Patchen braucht Zeit: Updates müssen getestet und eingespielt, Dienste wie PHP-FPM neu gestartet werden. In grossen Umgebungen mit vielen Servern dauert das Stunden bis Tage.
- Behörden halten sensible Daten: Baugesuche, Personendaten und interne Dokumente dürfen nicht abfliessen. Das Risiko einer kurzen Abschaltung ist kleiner als das Risiko eines Einbruchs.
Das Abschalten ist deshalb die sicherste Übergangslösung und kein Zeichen für einen erfolgreichen Angriff. Basel-Stadt und der Kanton Bern melden bisher keine Hinweise darauf, dass die Lücke bei ihnen ausgenutzt wurde.
Bin ich betroffen?
Wenn Ihre Website, Ihr Onlineshop oder Ihr Kundenportal mit WordPress, Joomla, Drupal, Shopware, WooCommerce, Magento oder einer anderen PHP-Anwendung läuft, lautet die Antwort sehr wahrscheinlich ja. Aber nicht nur dort: Das BACS weist darauf hin, dass PHP oft auch an weniger offensichtlichen Stellen steckt.
- Intranets und interne Webanwendungen
- ältere CRM-, ERP- oder Ticketsysteme
- Weboberflächen von Routern, Firewalls und NAS-Speichern
- Appliances und Geräte von Drittanbietern mit eingebauter Verwaltungsoberfläche
Gerade Systeme, die «einfach laufen» und seit Jahren niemand mehr angefasst hat, sind besonders gefährdet.
Was KMU jetzt tun müssen
- Sofort patchen: Aktualisieren Sie PHP auf eine der korrigierten Versionen 8.5.12, 8.4.27, 8.3.36 oder 8.2.35.
- Dienste neu starten: Ein Update wirkt erst, wenn PHP-FPM bzw. Apache neu gestartet wurde. Prüfen Sie danach, welche Version tatsächlich läuft.
- Upload-Fortschritt abschalten: Falls Sie nicht sofort aktualisieren können, setzen Sie in der PHP-Konfiguration
session.upload_progress.enabled = 0und starten Sie alle PHP-Prozesse neu. Das blockiert einen der bestätigten Angriffswege. Es ersetzt das Update nicht, schadet aber auch danach nicht, da kaum eine Website diese Funktion nutzt. - Alte Versionen ersetzen: Für PHP 8.1 und älter veröffentlicht das PHP-Projekt keine Updates mehr. Einzelne Linux-Distributionen und Anbieter mit Langzeit-Support liefern die Korrektur trotzdem nach. Fragen Sie dort nach. Ist kein Update erhältlich, migrieren Sie auf eine unterstützte Version oder nehmen Sie das System bis dahin vom Netz.
- WAF und virtuelles Patching nutzen: Eine Web Application Firewall, zum Beispiel von Cloudflare, kann bekannte Angriffsmuster abfangen, bis der Patch eingespielt ist. Das Update ersetzt sie aber nicht.
- Angriffsfläche verkleinern: Begrenzen Sie vorübergehend Datei-Uploads und die maximale Grösse von POST-Anfragen und deaktivieren Sie Formulare, die Sie nicht zwingend brauchen.
- Nachfragen: Klären Sie bei Ihrem Hoster und Ihren Softwarelieferanten, ob Ihre Systeme bereits gepatcht sind. Denken Sie dabei auch an Geräte und Appliances.
- Auf Kompromittierung prüfen: Ein Patch schliesst die Lücke, entfernt aber keine bereits installierte Hintertür (Webshell). Prüfen Sie Ihre Logs auf auffällige POST-Anfragen und abgestürzte PHP-Prozesse sowie Ihr Webverzeichnis auf neue oder veränderte PHP-Dateien seit dem 21. Oktober.
Fazit: Ruhig bleiben, aber jetzt handeln
PHP2Shell gehört zu den gravierendsten Web-Lücken der letzten Jahre, weil sie so viele Systeme betrifft und so einfach auszunutzen ist. Die gute Nachricht: Patches sind verfügbar. Wer jetzt aktualisiert, neu startet und seine Systeme prüft, ist gut geschützt.
Sie sind unsicher, ob Ihre Systeme betroffen sind, oder haben Hinweise auf einen Angriff? Unser IT-Notfall-Support hilft sofort. Mit einem Penetrationstest prüfen wir, ob Ihre Websites und Anwendungen verwundbar sind. Bei veralteten Anwendungen unterstützen wir Sie bei der Modernisierung Ihrer Webapplikation. Denken Sie auch daran: Wurden bei einem Angriff Personendaten abgegriffen, kann eine Meldepflicht gegenüber dem EDÖB bestehen. Kontaktieren Sie uns, wir beraten Sie gerne.
Quellen und Stand
Stand: 21.10.2026, die Lage entwickelt sich. Wir aktualisieren diesen Beitrag, sobald neue Informationen vorliegen. Aktuelle Warnungen und Empfehlungen veröffentlicht das Bundesamt für Cybersicherheit (BACS). Die technischen Details stammen aus den Sicherheitshinweisen des PHP-Projekts (CVE-2026-109618, CVE-2026-109619).