So schützen Sie Ihre WordPress-Site vor der Sicherheitsanfälligkeit in Genericons Example.html XSS

Einführung

Am 6. Mai 2015 wurde ein kritischer WordPress-Fehler aufgedeckt, der möglicherweise Millionen von Benutzern betrifft. Die Sicherheitsanfälligkeit, die tatsächlich von Komponenten herrührt, die das Symbolschriftpaket "Genericons" verwenden, kann Ihre Site für Cross-Site Scripting (XSS) -Angriffe offen lassen.

In diesem Artikel wird erläutert, wie sich die Sicherheitsanfälligkeit auswirkt, wie überprüft wird, ob Ihre Website anfällig ist und welche Maßnahmen Sie ergreifen sollten, wenn Sie feststellen, dass Sie betroffen sind.

Erklärung der Sicherheitsanfälligkeit

Die eigentliche Sicherheitslücke liegt in einem Font-Paket namens "Genericons" und nicht in der WordPress-Kerninstallation vor. Leider wird dieses Font-Paket von "TwentyFifteen" verwendet, dem Theme, das standardmäßig in WordPress installiert und aktiviert ist. Die Sicherheitslücke betraf auch ein beliebtes WordPress-Anpassungs- und Erweiterungs-Plugin namens "JetPack", das über eine Million aktive Installationen und möglicherweise auch Plugins und Themes enthält.

Die Sicherheitsanfälligkeit liegt in einer einzelnen Datei mit dem Namen "+ example.html +" vor, die im Genericon-Paket enthalten ist. Dies ist eine nicht wesentliche Datei, die enthalten war, um die Schriftart zu präsentieren. Es enthält jedoch ein jQuery-Snippet, das eine Sicherheitsanfälligkeit einführt, die möglicherweise DOM-basierte Cross-Site-Scripting-Exploits ermöglicht. Alle Designs oder Plugins, die die moderneren Versionen des Pakets "Genericons" verwendeten, ohne diese Datei zu entfernen, waren anfällig.

Bei einem DOM-basierten Cross-Site-Scripting-Angriff wird die DOM-Umgebung so geändert, wie sie vom Browser eines Benutzers interpretiert wird. Dadurch werden die Scripting-Aktionen in einer Weise ausgeführt, die dem ursprünglichen Design widerspricht. Um die Sicherheitsanfälligkeit auszunutzen, muss ein Benutzer dazu verleitet werden, auf einen speziell gestalteten Link zu klicken, während er in einer WordPress-Installation angemeldet ist. Wenn eine Anwendung diese Art von Sicherheitsanfälligkeit aufweist, kann der Server unerwünschtes Verhalten nicht einfach verhindern, da die Aktionen im Browser selbst ausgeführt werden. Glücklicherweise ist das Entfernen der Sicherheitsanfälligkeit in diesem Fall trivial.

Hat mein Server diese Sicherheitsanfälligkeit?

Am 7. Mai 2015 wurde WordPress 4.2.2 veröffentlicht, das dieses Problem behebt. Wenn Sie an oder nach diesem Datum die neueste Version von WordPress installiert oder aktualisiert haben, sollte Ihre Installation gesichert sein. Alle DigitalOcean Droplets, die mit einem Klick auf oder nach diesem Datum mit WordPress erstellt wurden, sollten nicht anfällig sein.

Wenn Sie eine WordPress-Instanz betreiben, die vor diesem Datum installiert wurde und nicht auf 4.2.2 aktualisiert wurde, ist Ihre Site möglicherweise anfällig. In diesem Fall zeigt Ihr Admin-Bereich eine Warnung an, die folgendermaßen aussieht:

image: https: //assets.digitalocean.com/articles/wordpress_genericons_vuln/update_warning.png [WordPress-Update-Warnung]

Sie können auch zum Dokumentenstamm Ihres Servers gehen und nach den Dateien + example.html suchen. Wenn Sie sich beispielsweise im Dokumentenstamm Ihres Servers befinden, können Sie Folgendes eingeben:

find . -path "*/genericons/example.html"

Die Ergebnisse sehen ungefähr so ​​aus:

find output./wp-content/themes/twentythirteen/genericons/example.html
./wp-content/themes/twentyfifteen/genericons/
./wp-content/themes/twentyfourteen/genericons/example.html

Im obigen Beispiel wurde im Design "Twenty Fifteen" eine "+ example.html" -Datei gefunden, die darauf hinweist, dass diese Installation anfällig ist. Die + example.html + - Dateien in den anderen hier gezeigten Designs sind nicht wirklich anfällig, da sie die anstößigen jQuery-Zeilen nicht enthalten. Suchen Sie nach + example.html + Dateien im Verzeichnis + twentyfifteen / genericons + oder in Plugins, die Sie möglicherweise haben.

So patchen Sie Ihre Installation

Der empfohlene Weg, um Ihr System zu patchen, ist einfach ein Upgrade von WordPress. Dies schützt Ihr System nicht nur vor dieser Sicherheitsanfälligkeit, sondern auch vor allen anderen Problemen, die möglicherweise behoben wurden.

Wenn Ihre Berechtigungen dies zulassen, können Sie Ihre Installation normalerweise mithilfe der Update-Steuerelemente des Admin-Panels aktualisieren. Diese Option wird möglicherweise als Link auf der Hauptseite angezeigt (wie im vorherigen Screenshot gezeigt). Wenn nicht, können Sie in der Systemsteuerung zur Option "Updates" gehen und auf die Schaltfläche "Jetzt aktualisieren" klicken:

Sie müssen wahrscheinlich auch Ihre Themes und Plugins separat aktualisieren.

Obwohl wir Ihnen dringend empfehlen, WordPress vollständig zu aktualisieren (zusammen mit allen betroffenen Themen oder Plugins), können Sie die betreffenden Dateien auch problemlos manuell löschen.

Melden Sie sich dazu bei Ihrem WordPress-Server an und navigieren Sie zu Ihrem Dokumentenstammverzeichnis. Sie können die fehlerhaften Dateien entfernen, indem Sie Folgendes eingeben:

sudo find . -path "*/genericons/example.html" -exec rm -f {} \;

Sie können dann Ihre Verzeichnisstruktur erneut überprüfen:

find . -path "*/genericons/example.html"

Alle + example.html + Instanzen in einem + genericons + Verzeichnis sollten entfernt werden.

Fazit

Obwohl die Anzahl der Benutzer, die für diesen Fehler anfällig waren, sehr hoch war, ist die Korrektur sehr einfach und kann über die normale WordPress-Aktualisierungsmethode durchgeführt werden. Wenn Sie WordPress-Installationen für Ihre eigenen Zwecke oder für Clients verwalten, schließt der in 4.2.2 verfügbare Patch diese Sicherheitsanfälligkeit auf einfache Weise. Wie immer ist eine der besten Methoden, um Ihre WordPress-Installationen sicher zu halten, sicherzustellen, dass Sie alle Sicherheitsupdates sofort anwenden.