Am 30. August 2022 veröffentlichte das WordPress-Core-Team die WordPress-Version 6.0.2, die Patches für drei Sicherheitslücken enthält, darunter eine hochgradige SQLi-Schwachstelle in der Links-Funktionalität sowie zwei mittelschwere Cross-Site-Scripting-Schwachstellen. WordPress unterstützt seit WordPress 3.7 automatische Core-Updates für Sicherheitsversionen, und die große Mehrheit der WordPress-Websites sollte in den nächsten 24 Stunden automatisch einen Patch für ihre Hauptversion von WordPress erhalten. Trotzdem sollte man prüfen, ob die Website automatisch auf eine der gepatchten Versionen aktualisiert wurde. Wenn die Website nicht automatisch aktualisiert wurde, sollte man die die Aktualisierung manuell starten.
Folgende Sicherheitslücken wurden u.a. gefixt:
SQL Injection über Links LIMIT-Klausel
Die WordPress-Link-Funktion, früher bekannt als „Lesezeichen“, ist bei neuen WordPress-Installationen nicht mehr standardmäßig aktiviert. Bei älteren Websites ist die Funktion möglicherweise noch aktiviert, was bedeutet, dass Millionen älterer Websites potenziell anfällig sind, selbst wenn sie mit neueren WordPress-Versionen arbeiten. Laut den Experten von Wordfence (eine Firewall für WordPress) erfordert es aber administrative Rechte, um die Sicherheitslücke auszunuten. Problem: In anfälligen WordPress-Versionen wurde das Limit-Argument der Link-Abfrage in der get_bookmarks-Funktion nicht erfolgreich bereinigt, um sicherzustellen, dass nur eine bestimmte Anzahl von Links zurückgegeben wird.
In der Standardkonfiguration ruft nur das Links-Legacy-Widget die get_bookmarks-Funktion so auf, dass dieses Argument von einem Benutzer gesetzt werden kann. Legacy-Widgets beinhalten zusätzliche Sicherheitsvorkehrungen, und der Injektionspunkt der Abfrage selbst stellt zusätzliche Schwierigkeiten dar, so dass die Ausnutzung dieser Schwachstelle nicht trivial sei.
Contributor+ Stored Cross-Site Scripting über die Verwendung der the_meta-Funktion
WordPress-Inhaltsersteller haben die Möglichkeit, benutzerdefinierte Felder zu jeder Seite und jedem erstellten Beitrag hinzuzufügen. Der Zweck dieser Funktion ist es, den Autoren von Website-Inhalten die Möglichkeit zu geben, zusätzliche Daten zu Beiträgen und Seiten hinzuzufügen und zuzuordnen. WordPress bietet Website-Besitzern mehrere Funktionen zur Anzeige von benutzerdefinierten Feldern, die mit Beiträgen und Seiten erstellt und verknüpft wurden. Eine dieser Funktionen ist die Funktion the_meta, die mit den Funktionen get_post_custom_keys und get_post_custom_values die benutzerdefinierten Felddaten des angegebenen Beitrags oder der Seite abruft, die als Beitrags-Metadaten gespeichert sind. Sobald die benutzerdefinierten Felder für einen Beitrag/eine Seite abgerufen sind, gibt die Funktion die Schlüssel und Werte der Beitragsmetadaten als Liste aus.
Die Experten von Wordfence erklären dazu: Leider wurden diese Daten in Versionen vor 6.0.2 bei der Ausgabe nicht entschlüsselt, so dass in die Post-Meta-Schlüssel und -Werte injizierte Skripte ausgeführt werden konnten. Da jeder Benutzer mit Zugriff auf den Beitragseditor benutzerdefinierte Metafelder hinzufügen kann, könnten Benutzer mit Zugriff auf den Editor, wie z. B. Autoren, bösartiges JavaScript einschleusen, das auf jeder Seite oder jedem Beitrag ausgeführt wird, auf der bzw. dem diese Funktion aufgerufen wird. Der WordPress-Kern ruft the_meta standardmäßig nirgendwo in seiner Codebasis auf. Daher erfordert diese Sicherheitslücke ein Plugin oder ein Theme, das die the_meta-Funktion aufruft, oder diese Funktion muss programmatisch einer PHP-Datei zur Ausführung hinzugefügt werden, so dass die große Mehrheit der Website-Besitzer für dieses Problem nicht anfällig ist. Die the_meta-Funktion gilt seit Version 6.0.2 als veraltet und get_post_meta ist die empfohlene Alternative.
Stored Cross-Site Scripting über Plugin-Deaktivierungs- und -Löschungsfehler
Die letzte Schwachstelle betrifft die Fehlermeldungen, die angezeigt werden, wenn ein Plugin aufgrund eines Fehlers deaktiviert wurde, oder wenn ein Plugin aufgrund eines Fehlers nicht gelöscht werden kann. Wordfence dazu: Da diese Fehlermeldungen nicht escaped wurden, würde jegliches JavaScript in diesen Fehlermeldungen in der Browsersitzung eines Administrators ausgeführt werden, der die Plugin-Seite besucht. Für diese Sicherheitslücke müsste ein separates bösartiges oder anfälliges Plugin oder ein anderer Code auf der Website installiert werden, was in der Regel bedeutet, dass ein Administrator es selbst installieren muss. In fast allen Fällen, in denen diese Schwachstelle ausgenutzt werden könnte, hätte ein Angreifer bereits einen festen Fuß auf der anfälligen Website.
Mehr zu Wordfence im unteren Link