Blog-Software: Gravierender Fehler in Wordpress Auto-Update gefunden

Die Wordpress-Entwickler haben eine kritische Schwachstelle im Update-Server des Unternehmens geschlossen. Angreifer hätten eine schwache Hashfunktion ausnutzen können, die eigentlich sicherstellen sollte, dass verifizierte Entwickler Änderungen von der Programmierplattform Github einspielen, wie die Sicherheitsfirma Wordfence(öffnet im neuen Fenster) schreibt.
Kritische Komponenten von Wordpress-Blogs werden seit der Version 3.7 automatisch eingespielt, um die Sicherheit zu verbessern. Wenn die Sicherheit des zentralen Update-Mechanismus ausgehebelt wird, kann das aber zum Problem werden.
Das Problem liegt konkret im Server unter der Adresse api.wordpress.org. Mit diesem Server nehmen Wordpress-Installationen etwa ein Mal die Stunde Kontakt auf, um zu prüfen, ob Updates vorliegen. Wenn ein Update notwendig ist, stellt der Server den Clients einen Link zur Verfügung, unter dem das Update abgerufen werden kann – bei den Core-Komponenten geschieht das automatisch.
Keine Signaturprüfung für Updates
Problematisch ist das, weil die Wordpress-Installationen allen Informationen vertrauen, die der Server sendet. Eine Überprüfung der angebotenen Software mittels Signaturen findet also nicht statt.
Die Schwachstelle, die Angreifer ausnutzen konnten, lag in der Verbindung zwischen dem Update-Server und Github. Von dort können die Wordpress-Entwickler Änderungen am Code über einen Github Webhook auf den Server pushen. Bei Webhook handelt es sich um ein PHP-Skript, das die eigentliche Sicherheitslücke enthält, die die Ausführung von Code aus der Ferne ermöglicht.
Github sendet ein Paket mit JSON-Daten an den Webhook, außerdem wird der Nachricht ein "geteiltes Geheimnis" hinzugefügt, daraus wird dann per SHA-1 ein Hashwert errechnet. Api.wordpress.com nimmt dann die Daten entgegen, vergleicht die Hashwerte und spielt die Updates ein, wenn die Werte übereinstimmen.
Wordpress hatte die Funktion jedoch so implementiert, dass vom Sender auch ein anderer Hashing-Algorithmus genutzt werden kann. Die Sicherheitsforscher nutzten einen kryptographisch unsicheren Hashing-Algorithmus, der eigentlich nur zur Berechnung von Checksummen genutzt wird, um Anfragen zu stellen. Auf diese Weise gelang es ihnen, per Brute-Force-Angriff an das "geteilte Geheimnis" zu kommen. Um einen solchen Angriff erfolgreich durchzuführen, müssten etwa 100.000 bis 400.000 Anfragen mit zufälligen Schlüsseln gesendet werden.
Wordpress hat die Sicherheitslücke bereits Anfang September, wenige Tage nach der Meldung durch Wordfence, geschlossen. Eine Überprüfung der ausgelieferten Updates findet aber nach wie vor nicht statt.