WordPress-Seiten sind möglicherweise durch eine PHP-Schwachstelle für Remote Code-Ausführung angreifbar. Das hat ein Sicherheitsforscher herausgefunden und dokumentiert.
Anzeige
Die Angriffsmethode geht auf PHP Unserialisierungs- oder Objektinjektionsschwachstellen zurück, die erstmals 2009 dokumentiert wurden. Diese Schwachstellen könnten es einem Angreifer ermöglichen, verschiedene Arten von Angriffen durchzuführen. Dazu muss er allerdings bösartige Eingaben an die PHP-Funktion unserialize() schicken.
Serialisierung ist der Prozess der Umwandlung von Datenobjekten in einen einfachen String. Die unserialize-Funktion ermöglicht einem PHP-Programm wieder ein Objekt aus einem String zu machen.
Sam Thomas, der Sicherheitsforscher der Firma Secarma, hat die Entdeckung der unserialize-Schwachstellen in WordPress hier beschrieben. Thomas fand heraus, dass ein Angreifer Phar-Archive verwenden kann, um einen Deserialisierungsangriff auszulösen, ohne dass er die Funktion unserialize() direkt aufrufen muss.
Phar-Dateien sind ein Archivformat in PHP, in dem Metadaten in einem serialisierten Format gespeichert werden. Bei jedem Zugriff einer Dateioperation (fopen, file_exists, file_get_contents, etc.) muss die Archivdatei unserialisiert werden.
Um diese Schwachstelle aber erfolgreich ausnutzen zu können, muss ein Angreifer ein gültiges Phar-Archiv mit dem schädlichen Payload-Objekt auf das lokale Dateisystem des Ziels hochladen und die Dateioperationsfunktion über den "phar://"-Stream-Wrapper darauf zugreifen lassen. In meinen Blogs ist dieser Ansatz nicht möglich, da ich den Upload von Phar-Archivdateien nicht ermögliche. Allerdings schreibt Thomas, dass ein Angreifer diese Schwachstelle sogar mit einem modifizierten JPEG-Bild ausnutzen kann. Er hat dazu ein Phar-Archiv in ein gültiges JPEG umgewandelt, indem er seine ersten 100 Bytes änderte.
Thomas schreibt: Sobald das erstellte Thumbnail auf den Ziel-WordPress-Server hochgeladen wurde, kann der Angreifer eine andere Funktion verwenden, um die gleiche Bilddatei wie ein Phar-Archiv mit dem "phar://"-Stream-Wrapper aufzurufen und schließlich den beliebigen Code auszuführen, wenn das Programm die Metadaten deserialisiert. Allerdings ist mir nicht klar, wie das gehen kann – möglicherweise mit in der Phar-Archivdatei eingebetteten Anweisungen. Wird der Upload jeglicher Dateien durch Blog-Besucher unterbunden, dürfte diese Sicherheitslücke nicht ausnutzbar sein. Weitere Details sind diesem Artikel bei The Hacker News oder dem verlinkten Original-Artikel zu entnehmen.
Anzeige
Anzeige