~/ / KI-Artikel / KI half beim Auffinden von PHP2Shell: die kritischen PHP-Schwachstellen vom Oktober 2026
KI half beim Auffinden von PHP2Shell: die kritischen PHP-Schwachstellen vom Oktober 2026
Laut Medienberichten halfen KI-Modelle Forschern, zwei kritische Schwachstellen in PHP selbst zu finden, CVE-2026-109618 und CVE-2026-109619, die eine Remote-Code-Ausführung (RCE) ohne Authentifizierung ermöglichen können. PHP hat am 21. Oktober 2026 behobene Versionen veröffentlicht. Dieser Artikel fasst zusammen, was die offiziellen Ankündigungen und die Berichte über die Schwachstellen und über die Beteiligung von KI sagen, und lässt Sie prüfen, ob das von Ihnen eingesetzte PHP die Korrektur enthält.
Abgeglichen mit den offiziellen Ankündigungen am 2026-10-24. Diese Seite ist keine offizielle Sicherheitsmitteilung, und die Angaben können sich ändern. Folgen Sie daher den Quellen am Ende der Seite.
Was zuerst zu tun ist
- Aktualisieren Sie PHP auf eine behobene Version (8.5.12, 8.4.27, 8.3.36 oder 8.2.35) oder auf das behobene Paket Ihrer Linux-Distribution. PHP sagt, es gebe keine vollständigen Gegenmaßnahmen und das Aktualisieren sei die einzige sichere Wahl.
- Starten Sie nach dem Update PHP-FPM, Apache und alle langlebigen PHP-Worker neu, damit sie den behobenen Code laden. Ein Dienst, der vor dem Update gestartet wurde, führt weiterhin den alten Code aus.
- Stammt PHP aus einem Distributionspaket, prüfen Sie die vollständige Paketversion, einschließlich des Teils nach dem ersten Bindestrich. Distributionen können die Korrektur enthalten, ohne den ersten Teil der Nummer zu ändern.
- Wenn Sie nicht sofort aktualisieren können, lesen Sie die Gegenmaßnahmen weiter unten. PHP sagt, sie verringern die Angriffsfläche für bestimmte Angriffswege, machen eine Installation aber nicht sicher.
Was passiert ist
Am 21. Oktober 2026 hat PHP die Versionen 8.5.12, 8.4.27, 8.3.36 und 8.2.35 veröffentlicht. Sie beheben zwei kritische Schwachstellen, beide mit CVSS v4.0 9.2 bewertet.
CVE-2026-109618, genannt RCE via OOM corruption: Die Behandlung von Speichermangel kann PHP unterbrechen, während interne Anfragedaten erst teilweise initialisiert sind, und die Bereinigung der Anfrage behandelt die ungültigen Daten dann womöglich als gültig.
CVE-2026-109619, genannt RCE via stale global state: Der interne Zustand einer Anfrage kann bestehen bleiben, nachdem der zugehörige Speicher freigegeben wurde, und eine spätere Anfrage, die vom selben Worker bearbeitet wird, kann diesen veralteten Zustand verwenden.
- CVE-2026-109618 · CVSS 4.0 9.2
- CVE-2026-109619 · CVSS 4.0 9.2
Welche Rolle KI spielte
Laut The Next Web fand die Sicherheitsfirma Calif den ersten Fehler im August mithilfe eines OpenAI-Modells, bei einem von OpenAI finanzierten Audit des PHP-Quellcodes. Wiz sagte, es habe die Schwachstellen Wochen später unabhängig davon gefunden, mit KI-Werkzeugen, darunter Googles Gemini-Modelle.
Die Website php2shell.com nennt als Urheber der Recherche Wiz Research, OpenAI Codex Security und Calif. Calif sagte, es habe allgemein verfügbare Modelle verwendet, und die Kenntnis der PHP-Geschichte sei wichtiger gewesen als das Modell.
Derselbe Artikel berichtet, dass Cloudflare etwa neun Stunden vor der Veröffentlichung WAF-Regeln für seine Kunden aktiviert hat und dass danach ein Proof-of-Concept-Exploit online kursierte. Die Website php2shell.com sagt, eine WAF- oder CDN-Regel dürfe nicht als Ersatz für das Aktualisieren von PHP betrachtet werden.
Zeitverlauf
- PHP kündigt ein bevorstehendes kritisches Sicherheitsrelease an, geplant für den 21. Oktober um 14:00 UTC.
- PHP 8.5.12, 8.4.27, 8.3.36 und 8.2.35 werden zusammen mit einer Sicherheitsmitteilung veröffentlicht, und Ubuntu veröffentlicht USN-8948-1.
- PHP veröffentlicht eine informative Mitteilung zu session.upload_progress.enabled, zu einem weiteren, unwahrscheinlichen Vektor, der als CVE-2026-115560 geführt wird.
Wer betroffen ist
PHP sagt, alle PHP-Installationen, die Webanfragen bedienen, seien gefährdet, darunter PHP-FPM, Apache mit mod_php, php-cgi, FrankenPHP und LiteSpeed. Das Risiko hält es bei mod_php für am höchsten, wo eine unauthentifizierte Anfrage den Angriff auslösen kann, bevor irgendein Anwendungscode läuft.
Die GitHub-Advisories nennen Versionen unterhalb von 8.2.35, 8.3.36, 8.4.27 und 8.5.12 als betroffen. Die Website php2shell.com, die laut Angabe von Wiz betrieben wird, sagt, die betroffenen Versionen reichten bis PHP 5.4 zurück.
PHP 8.1 und älter erhalten vom PHP-Projekt keine Updates mehr. Einige Distributionen und LTS-Anbieter liefern zurückportierte Korrekturen, und PHP stellte für PHP 7.4, 8.0 und 8.1 minimale Quellcode-Backports für alle bereit, die aus dem Quellcode bauen.
Behobene Versionen
Eine Version, die der behobenen Version ihres Zweigs entspricht oder darüber liegt, enthält die Korrektur. Ein Distributionspaket ist durch seine Paketversion behoben, nutzen Sie daher für Ubuntu und Debian die zweite Tabelle.
Die eigenen Releases von PHP
| Zweig | Erste behobene Version |
|---|---|
| PHP 8.5 | 8.5.12 |
| PHP 8.4 | 8.4.27 |
| PHP 8.3 | 8.3.36 |
| PHP 8.2 | 8.2.35 |
Pakete für Ubuntu und Debian
| Distribution | Paket | Behobene Paketversion | Mitteilung |
|---|---|---|---|
| Ubuntu 26.10 | php8.5 | 8.5.9-0ubuntu2.1 | USN-8948-1 |
| Ubuntu 26.04 LTS | php8.5 | 8.5.4-0ubuntu1.5 | USN-8948-1 |
| Ubuntu 24.04 LTS | php8.3 | 8.3.6-0ubuntu0.24.04.13 | USN-8948-1 |
| Ubuntu 22.04 LTS | php8.1 | 8.1.2-1ubuntu2.28 | USN-8948-1 |
| Debian 12 (bookworm) | php8.2 | 8.2.35-1~deb12u1 | DLA-4848-1 |
| Debian 13 (trixie) | php8.4 | 8.4.27-1~deb13u1 | DSA-6574-1 |
Die Tabellen zeigen nur, was die offiziellen Mitteilungen auflisten. Für andere Distributionen lesen Sie die Sicherheitsmitteilung Ihres Anbieters.
Ihr PHP prüfen
Wählen Sie, woher Ihr PHP stammt, fügen Sie den Versionstext ein, und das Werkzeug vergleicht ihn mit den oben genannten behobenen Versionen. Es beurteilt nur den eingefügten Text. Es kann nicht sehen, welche Version läuft. Bestätigen Sie daher auch, dass der Dienst nach dem Update neu gestartet wurde.
Befehle, die die Version anzeigen
php -vdpkg -l 'php*' | grep ^iiapt-cache policy php8.3-fpm | grep Installed
Alles läuft in Ihrem Browser. Der eingefügte Text wird nicht hochgeladen.
Wenn Sie nicht sofort aktualisieren können
PHP führt diese Maßnahmen auf. Es sagt, sie verringern die Angriffsfläche für bestimmte Angriffswege, machen eine Installation aber nicht sicher, und nur ein Update sei eine vollständige Lösung.
CVE-2026-109618
- Setzen Sie memory_limit=-1, am besten so, dass Anwendungen es nicht überschreiben können, etwa mit php_admin_value in der FPM-Pool- oder Apache-Konfiguration. Ein zugrunde liegender Fehler bei der Speicherzuweisung kann dennoch den verwundbaren Pfad erreichen.
- Setzen Sie ein niedriges post_max_size: 8M für Anwendungen, die keine Datei-Uploads benötigen, und 32M, wenn Uploads nötig sind. Halten Sie upload_max_filesize unter post_max_size.
- Erzwingen Sie am Webserver oder Proxy Grenzen für die dekodierte Anfragegröße, die Anzahl der Eingabefelder, die Anzahl der Multipart-Teile, die Anzahl der Header und die Verschachtelungstiefe.
- Nutzen Sie ein Container- oder cgroup-Limit als Verfügbarkeitsgrenze. Verwenden Sie weder RLIMIT_AS noch RLIMIT_DATA, da sie den Fehler bei der verwundbaren Speicherzuweisung auslösen können.
CVE-2026-109619
- Setzen Sie session.upload_progress.enabled=0 in php.ini, in einem FPM-Pool oder in der Serverkonfiguration und starten Sie jeden Worker neu. Verlassen Sie sich nicht auf ini_set() oder eine FPM-Datei .user.ini.
- Setzen Sie unter PHP 8.5 fatal_error_backtraces=0 und starten Sie jeden Worker neu.
- Entfernen Sie ungültige oder veraltete Einstellungen, die pro Anfrage angewendet werden und vor der Initialisierung Diagnosemeldungen ausgeben. Das Ausblenden von Diagnosemeldungen hilft nicht.
- Beheben Sie schwere Fehler und Ausführungs-Timeouts, die ein Angreifer erreichen kann.
Die informative Mitteilung vom 23. Oktober
PHP empfiehlt, session.upload_progress.enabled=0 bis zum nächsten regulären Bugfix-Release zu setzen, um sich vollständig gegen einen unwahrscheinlichen weiteren Vektor für Remote-Code-Ausführung zu schützen. Wenn Sie es bereits aufgrund der Mitteilung vom 21. Oktober angewendet haben, belassen Sie es.
PHP sagt, das Problem könne nur bei einer ungewöhnlichen Kombination auftreten: Eine Anwendung setzt session.serialize_handler in ihrer Konfiguration auf php_binary oder php_serialize, schaltet ihn zur Laufzeit mit ini_set() vor session_start() auf php um, und der Upload-Fortschritt der Sitzung ist weiterhin aktiviert. PHP wird mit dem nächsten Release eine vollständige Mitteilung zu CVE-2026-115560 veröffentlichen.
Was diese Seite nicht leistet
- Sie ist keine offizielle Sicherheitsmitteilung und nennt keine Exploit-Details. Maßgeblich sind die offiziellen Ankündigungen und Mitteilungen weiter unten.
- Sie kann nicht feststellen, ob ein System angegriffen wurde. Die Website php2shell.com weist darauf hin, dass das Fehlen verdächtiger Aktivität nicht belegt, dass ein System nicht betroffen ist.
- Die Gefährdung hängt von der Version, der Konfiguration und der einzelnen Schwachstelle ab. Gegenmaßnahmen können die Funktionsweise einer Anwendung beeinflussen.
Quellen
- PHP: Sicherheitsmitteilung vom 21. Oktober 2026
- GitHub: GHSA-w8hw-w9fx-j79w (CVE-2026-109618)
- GitHub: GHSA-6wmf-4rv5-p3rp (CVE-2026-109619)
- Ubuntu: USN-8948-1
- Debian: Security Tracker zu CVE-2026-109618
- PHP: informative Mitteilung vom 23. Oktober 2026
- php2shell.com
- The Next Web: PHP rushes out emergency patches