Der IT-Sicherheitsforscher Charles Fol hat zwei Fehler in PHP-Datenbankmodulen gefunden, die er zur Ausführung eigenen Codes nutzen konnte. Die Schwachstellen betreffen alle PHP-Versionen aus den aktuell gepflegten Versionsbäumen bis einschließlich 7.4.29, 8.0.19 und 8.1.6. Die erste Lücke (CVE-2022-31625) betrifft die Anbindung an postgreSQL-Datenbanken. Durch ein fälschlicherweise initialisiertes Array zur Speicherung von Parametern einer Datenbankanfrage könnten Angreifer bei geschickter Kombination bestimmter Datentypen den Heap korrumpieren und eigenen (Schad-)Code auf dem Zielsystem ausführen. Um die Sicherheitslücke auszunutzen, müssten sie jedoch zusätzlich die Möglichkeit haben, eigenen PHP-Code auf dem Zielsystem auszuführen. Der zweite Security-Bug findet sich in der PHP-Anbindung an MySQL und hat die CVE-ID CVE-2022-31626 bekommen. Hier macht sich Fol einen Pufferüberlauf in der PHP-eigenen Implementation des MySQL-Protokolls zunutze, um eingeschleusten Code auszuführen. Allerdings ist auch hier eine Bedingung zu erfüllen, um Schadcode injizieren zu können: Der Zielserver muss eine Verbindung zu einem speziell präparierten MySQL-Server aufbauen, die zudem ein besonders langes Passwort von mehr als 4000 Zeichen nutzt. Der Sicherheitsdienstleister Tenable hat beiden Fehlern einen CVSS-Score von 9.8 (kritisch) zugeordnet und nimmt an, sie seien ohne Authentifizierung aus der Ferne ausnutzbar. Selbst bei etwas zurückhaltenderer Einschätzung erreichen die Sicherheitslücken noch immer einen Stand von 7.8 Punkten und stellen somit ein hohes Risiko dar. In den neuen PHP-Versionen 7.4.30, 8.0.20 und 8.1.7 hat die PHP-Gruppe beide Probleme behoben. Vor allem Administratoren, die Hosting-Server betreiben, sollten zügig updaten, um die Gefahr einer Serverübernahme zu lindern. Zum Zeitpunkt der Meldung haben jedoch nur Alpine Linux und Fedora ihre PHP-Pakete aktualisiert.