Sicherheitsforscher haben mithilfe künstlicher Intelligenz zwei schwerwiegende Fehler in PHP entdeckt, also in der Programmiersprache, auf der rund 70 Prozent aller Websites weltweit laufen. Ein Angreifer konnte darüber eigenen Code auf einem Server ausführen, ohne sich irgendwo anmelden zu müssen. Die Schwachstellen erhielten den gemeinsamen Namen PHP2Shell und wurden von den PHP-Entwicklern auf der Schweregradskala mit 9,2 von 10 Punkten bewertet.
Fachleute beschäftigen sich jedoch nicht nur mit dem Ausmaß des Problems. Vor allem diskutieren sie darüber, wie die Schwachstelle gefunden wurde. Einen großen Teil der Arbeit bei ihrer Aufspürung übernahm nämlich ein Sprachmodell.
Eine alte Spur und eine unerwartete Entdeckung
Hinter der Entdeckung steht das amerikanische Sicherheitsunternehmen Calif. Dessen Forscher begannen am 30. Juli auf Wunsch der PHP Foundation, den PHP-Quellcode mithilfe des Modells GPT-5.6 Sol von OpenAI zu untersuchen. Dies geschah im Rahmen des Programms Patch the Planet, durch das Sicherheitsexperten Zugang zu den leistungsfähigsten KI-Modellen erhalten und mit ihnen nach Lücken in der Software suchen können, auf der das Internet beruht.
Bei Calif machte man sich keine allzu großen Hoffnungen. Das Unternehmen räumte ein, keine kritischen Fehler erwartet zu haben, da PHP zuvor bereits von anderen Fachleuten gründlich geprüft worden war, ebenfalls mithilfe von KI. PHP gehört zu den am intensivsten untersuchten Softwarekomponenten überhaupt, und Sicherheitsexperten nehmen den Code seit Jahrzehnten unter die Lupe.
Der Forscher Ryan Austin ging von der Vermutung aus, dass sich in älteren Teilen des Codes längst bestehende Mängel verbergen, und nutzte das Modell als Hilfsmittel. Die Spur führte weit in die Vergangenheit. Den ersten Fehler im Zusammenhang mit dem Speicherlimit in PHP beschrieb Stefan Esser bereits 2004. Im Jahr 2020 meldete jemand dem Projekt ein ähnliches Problem, und 2024 wurde dieselbe Sache bei einem Audit der Organisationen OSTIF und Quarkslab erneut entdeckt. Die Fachleute hielten sie jedoch für zu schwer ausnutzbar, sodass sie in Vergessenheit geriet.
Austin gab dem Modell deshalb eine konkrete Aufgabe. Er ließ es das Verhalten von PHP in dem Moment untersuchen, in dem das zulässige Speicherlimit erreicht wird. Dabei handelt es sich um eine Situation, in der kein weiterer Speicher zugewiesen werden kann, ein schwerwiegender Fehler auftritt und das Programm beendet wird.
KI entdeckte die Schwachstelle
Das Modell las den Quellcode und verfolgte, welchen Weg die Daten innerhalb von PHP nehmen. Es stellte fest, dass die Reihenfolge falsch war, in der eine der internen Datentabellen vorbereitet wird. Anschließend spürte es einen Ablauf auf, bei dem PHP während der Verarbeitung übermittelter Formulardaten auf die Tabelle zugreift, obwohl sie sich in einem beschädigten Zustand befindet.
Vereinfacht gesagt kann PHP bei der Verarbeitung einer Anfrage die Arbeit nur teilweise abschließen, wenn ihm der Speicher ausgeht. Der erste Fehler führt dazu, dass PHP versehentlich unvollständige oder beschädigte Daten verarbeitet. Der zweite besteht darin, dass veraltete Daten aus einer früheren Anfrage verwendet werden, obwohl der Speicher, in dem sie abgelegt waren, bereits freigegeben wurde. Ein geschickter Angreifer kann beide Schwachstellen zu seinem Vorteil nutzen und dem Server eigene Befehle unterschieben.
Das Tückische daran ist, dass dies geschieht, bevor die Website überhaupt mit ihrer Arbeit beginnt. Selbst eine Seite, die lediglich OK ausgibt, kann gefährdet sein, weil die fehlerhafte Verarbeitung noch vor der Ausführung der ersten Codezeile der eigentlichen Anwendung stattfindet. Es spielt daher keine Rolle, wie sorgfältig eine Website programmiert wurde.
Das Unternehmen Calif fand die Fehler innerhalb weniger Tage. Den ersten Fund erzielte es mit dem öffentlich verfügbaren Modell GPT-5.6 Sol und ohne spezielle Testumgebung. Zur Entwicklung funktionsfähiger Angriffe verwendeten die Forscher ein noch nicht veröffentlichtes Modell von OpenAI. Das Modell half ihnen, ein neues Problem zu finden, daraus ein reproduzierbares Verfahren zu entwickeln und damit ein weiteres aufzudecken. Das Unternehmen dämpft jedoch die Vorstellung, dass die KI alles allein gelöst habe. Seinen Angaben zufolge spielte die Kenntnis der PHP-Geschichte eine größere Rolle als das Modell selbst, und bislang sei kein System in der Lage, anhand weniger einfacher Anweisungen sämtliche Fehler aufzuspüren.
Nicht nur Calif suchte nach den Schwachstellen. Unabhängig davon stießen am 19. August auch Mitarbeiter des zu Google gehörenden Unternehmens Wiz auf die Fehler. Dabei unterstützten sie die Modelle Gemini 4 Argon und GPT-5.6 Sol zusammen mit dem firmeneigenen Werkzeug Wiz Atlas. Ihren Angaben zufolge diente die KI vor allem dazu, Testangriffe an verschiedene PHP-Versionen und Serverkonfigurationen anzupassen und zu analysieren, warum manche Versuche scheiterten. Bei Wiz spart man nicht mit deutlichen Worten. Ein einzelner Forscher mit den leistungsfähigsten Modellen habe innerhalb einer Woche geschafft, wofür ein internationales Spitzenteam früher Monate gebraucht hätte. Der Mitgründer des Unternehmens, Ami Luttwak, fügte hinzu, dass die Schwachstelle vermutlich so komplex gewesen sei, dass sie ohne KI niemand entdeckt hätte.
Wie lange sie in PHP unentdeckt blieb, darüber sind sich die Quellen nicht ganz einig. OpenAI-Mitgründer Greg Brockman spricht von vierzehn Jahren. Betroffen sind PHP-Versionen von 5.4 bis 8.5.
Wettlauf gegen die Zeit
Nach der Entdeckung begann eine Phase, von der normale Nutzer nichts mitbekamen. Der Calif-Chef Thai Duong informierte am 11. August den PHP-Entwickler Volker Dusche, womit die stille gemeinsame Anstrengung begann, das Problem zu beheben, bevor Angreifer davon erfuhren. Einige Tage später schickte das Unternehmen den Entwicklern eine funktionsfähige Angriffsdemo und meldete am 21. August die zweite Schwachstelle. Die Forscher hielten alles streng geheim, weil sie befürchteten, dass die Schwachstelle in der Zwischenzeit von einem ebenfalls durch KI unterstützten Hacker entdeckt werden könnte. An der Vorbereitung der Fehlerbehebungen beteiligten sich die PHP-Verantwortlichen, weitere Forscher, Sicherheitsunternehmen und auch US-Behörden, darunter die Agentur CISA.
Der Plan ging jedoch nicht vollständig auf. Die Veröffentlichung war für den 22. Oktober vorgesehen, doch Einzelheiten zu den Schwachstellen und auch eine Angriffsdemo wurden vorzeitig bekannt. Die PHP Foundation zog die Veröffentlichung deshalb um einen Tag vor, und die korrigierten Versionen 8.5.12, 8.4.27, 8.3.36 und 8.2.35 erschienen am 21. Oktober.
Jemand griff die Schwachstellen sofort auf und versuchte bereits vier Tage vor der offiziellen Veröffentlichung, sie auszunutzen. Das Sicherheitsunternehmen Sansec rechnete innerhalb von 15 Minuten nach Veröffentlichung der Fehlerbehebungen mit massenhaften Angriffen. Da sich der Fehler in PHP selbst befindet, können auch Websites gefährdet sein, die auf WordPress, Drupal oder Joomla basieren.
Duong beschrieb die Befürchtungen ziemlich unverblümt. Seiner Ansicht nach genügt es, wenn irgendein Typ von Twitter die Fehlerbehebungen nimmt, eine KI darauf ansetzt und einen fertigen Angriff veröffentlicht. Dasselbe Werkzeug, das bei der Entdeckung der Schwachstelle geholfen hat, kann Angreifern den Weg zu einem funktionsfähigen Angriff nämlich erheblich verkürzen.
Die Geschichte hat auch eine Schattenseite. Die PHP Foundation, die sich um die Sprache kümmert, hat lediglich dreizehn Voll- oder Teilzeitbeschäftigte und finanziert sich aus Spenden, während Milliarden in die KI-Forschung fließen. Die PHP-Entwickler räumten selbst ein, erste Anzeichen des Problems bereits 2024 bemerkt zu haben.
OpenAI erklärt, seinen Informationen zufolge habe die KI diese Schwachstellen vor den Angreifern entdeckt. Das Unternehmen will Sicherheitsteams Zugang zu seinen Modellen im Wert von einer Milliarde Dollar gewähren und hat Programmierern eine Erweiterung für Codex angeboten, die überprüft, ob ihre Website oder PHP-Installation für PHP2Shell anfällig ist.
Quellen: openai.com und nytimes.com



