
Alle Versionen der WordPress-Software der letzten sechs Jahre einschließlich WordPress 5.0.0 enthielten eine schwere Sicherheitslücke, die relativ einfach die komplette Übernahme einer WordPress-Instanz erlaubte.
Beliebiger PHP-Code ausführbar
Das enthüllten jetzt die Entdecker der Lücke beim Sicherheitsunternehmen RIPS Technologies GmbH. Die Lücke, die Ende letzten Jahres entdeckt und dem WordPress-Sicherheitsteam gemeldet wurde, erlaubt es einem Angreifer, durch zwei Verwundbarkeiten im WordPress-Kern beliebigen PHP-Code auf dem Server auszuführen. Dazu wird lediglich das Berechtigungslevel Autor benötigt.
Die beiden Lücken lassen sich mit einer Kombination aus Path-Traversal-Angriff und Local File Inclusion ausnutzen. Durch ein vorbereitetes und auf dem System ausgeführtes JavaScript-Exploit können die einzelnen Schritte zur Übernahme des Systems automatisiert ausgeführt werden.
Fehler im Media-Handling
Die Lücken bestehen in der Art, wie WordPress Medien verarbeitet. Wenn ein Bild in eine WordPress-Installation hochgeladen wird, wird es zunächst in das Verzeichnis wp-content/uploads verschoben. WordPress erstellt auch einen internen Verweis auf das Bild in der Datenbank, um Metainformationen wie den Besitzer des Bildes oder den Zeitpunkt des Uploads verfolgen zu können. Diese Metainformationen werden als Post-Meta-Einträge in der Datenbank gespeichert. Jeder dieser Einträge ist ein Schlüssel/Wertpaar, das einer bestimmten ID zugeordnet ist.
Dies Post-Meta-Einträge vor WordPress 4.9.9.9 und 5.0.1 konnten beliebig verändert und auf beliebige Werte eingestellt werden. Weitere technische Einzelheiten beschreibt detailliert der Blogpost der Entwickler.
Lücken in 4.99 und 5.0.1 geschlossen
Die Lücke, die per Local File Inclusion ausgenutzt werden kann wurde mit WordPress 5.0.1 geschlossen und nach 4.9.9. portiert, um auch Anwender, die noch nicht auf 5.0 aktualisieren möchten, zu schützen. Das Ausnutzen des Path-Traversal-Angriffs ist unter bestimmten Bedingungen immer noch möglich. Dazu bedarf es eines Plugins, dass es noch erlaubt, beliebige Post-Meta-Daten zu überschreiben.
WordPress 5.1 ist fast da
Derzeit hilft es, seine WordPress-Instanz zumindest auf Version 4.9.9. oder gleich auf das aktuelle 5.0.3 zu aktualisieren. Vollen Schutz auch bei Fehlverhalten von Plugins aus dritter Hand wird erst WordPress 5.1 bieten, das in wenigen Tagen am 21. Februar veröffentlicht werden soll.