Ein Sicherheitsfehler ist noch nicht behoben, nur weil ein Patch geschrieben wurde. Er muss auch in einer Form bei den Verantwortlichen für die betroffenen Server ankommen, die sich zuverlässig installieren lässt. Beim PHP2Shell-Notfall half der ehrenamtliche Paketbetreuer Ondřej Surý, diese Lücke zu schließen: Er bereitete PHP-Pakete für Debian und Ubuntu vor – darunter auch für ältere PHP-Versionen.
17
28
Seine Arbeit macht einen oft übersehenen Teil der Open-Source-Sicherheit sichtbar: Neben der Suche nach Schwachstellen und ihrer Behebung braucht es Menschen, die Softwarepakete pflegen und Updates zu den Betreibern bringen.
Was PHP2Shell war – und welche Updates PHP veröffentlichte
PHP2Shell bezeichnet zwei Schwachstellen: CVE-2026-109618 und CVE-2026-109619. In einer Vorabinformation bewertete das PHP-Sicherheitsteam beide mit 9,2 nach CVSS v4.0.
6
7 Bei erfolgreicher Ausnutzung könnte ein nicht angemeldeter Angreifer aus der Ferne Code auf einem betroffenen PHP-System ausführen, das Webanfragen verarbeitet.
3
8
Am 21. Oktober 2026 veröffentlichte das PHP-Projekt die korrigierten Versionen 8.2.35, 8.3.36, 8.4.27 und 8.5.12.
3 Damit waren die Fehler in der offiziellen PHP-Codebasis behoben. Für viele Serverbetreiber war jedoch noch ein weiterer Schritt nötig: Die Korrekturen mussten als passende Pakete für ihre Systeme bereitstehen.
Warum installierbare Pakete wichtig waren
Viele Betreiber installieren PHP nicht direkt aus dem Quellcode, sondern beziehen fertig geschnürte Pakete. Diese bereitzustellen ist eine eigene Aufgabe – getrennt von der Entwicklung oder Übernahme des ursprünglichen Patches. Surý pflegt seit mehr als 20 Jahren ehrenamtlich PHP-Pakete für Debian und Ubuntu, größtenteils in seiner Freizeit.
17
32
Berichten zufolge stellte sein Repository noch am Tag der Veröffentlichung korrigierte Pakete für PHP-Versionen von 5.6 bis 8.5 bereit.
28 Das war auch für ältere Installationen relevant: PHP 8.1 und frühere Versionen erhalten vom PHP-Projekt keine regulären Updates mehr. Für 7.4, 8.0 und 8.1 veröffentlichte das Projekt zwar Quellcode-Backports; auch andere Anbieter stellten Korrekturen bereit.
2
33
Der Unterschied ist praktisch: Wer den Quellcode selbst bauen kann, kann einen Patch direkt anwenden. Ein vorbereitetes Paket bietet Administratorinnen und Administratoren dagegen einen unkomplizierteren Weg, ein Update einzuspielen. Surýs Arbeit half, diesen Weg für Debian- und Ubuntu-Systeme bereitzustellen – auch bei älteren PHP-Versionen.
24
28 Die vorliegenden Berichte belegen, dass Pakete erstellt wurden, nicht aber, wie viele Server sie tatsächlich installierten oder wie schnell das geschah.
Enges Zeitfenster, Streit um den Veröffentlichungszeitpunkt
Das PHP-Sicherheitsteam hatte die Veröffentlichung für den 21. Oktober angesetzt und erklärt, sie könne vorgezogen werden, falls Einzelheiten öffentlich würden oder Hinweise auf aktive Angriffe auftauchten.
7 Auch der Ablauf der Veröffentlichung wurde zum Streitpunkt: Die PHP Foundation erklärte, Chainguard habe korrigierte Container-Images mehr als sechs Stunden vor dem abgestimmten Termin veröffentlicht und damit die Vertraulichkeitsfrist gebrochen.
34 Ein anderer Bericht zitiert Chainguards Geschäftsführer mit der Begründung, die Entscheidung sei gefallen, weil bereits Exploits aufgetaucht seien.
36 Die Berichte geben unterschiedliche Positionen wieder; sie klären den Streit nicht unabhängig voneinander.
Die größere Lehre für Open-Source-Sicherheit
Bei der Reaktion auf PHP2Shell griffen mehrere Aufgaben ineinander: Schwachstellen finden, den Code korrigieren, Pakete für verschiedene Systeme bauen und die Updates schließlich installieren. Surýs langjährige ehrenamtliche Arbeit machte den Schritt der Paketpflege besonders sichtbar. Die grundsätzliche Lehre reicht aber weiter: Ein Fix muss über Maintainer und Distributionen zu den Betreibern gelangen, bevor er die betroffenen Systeme schützen kann.
17
24
Damit ist auch die Wartungsschicht selbst ein Sicherheitsthema. Verlässliche Updates hängen davon ab, dass Menschen und Projekte Pakete aktuell halten können – auch dann, wenn das ursprüngliche Softwareprojekt ältere Versionen nicht mehr regulär unterstützt.
28
33