
Exploit und Analyse von CVE-2023-3460, einer kritischen Privilegieneskalation im Ultimate Member WordPress-Plugin, mit Reproduktionsumgebung und Anleitung zur Schadensbegrenzung.
| CVE ID | CVSS-Score | Entdeckt | Betroffenes Plugin | Schwachstellentyp |
|---|---|---|---|---|
| CVE-2023-3460 | 07/04/2023 | Ultimate Member | Unautorisierter Admin-Zugriff |
Diese Studie konzentriert sich auf die CVE¹-2023-3460, eine kritische Schwachstelle, die das Plugin "Ultimate Member" von WordPress betrifft und eine nicht autorisierte Privilegienausweitung ermöglicht. Dieses Plugin ist weit verbreitet und wird für die Verwaltung von Profilen auf WordPress-Websites eingesetzt. Diese Schwachstelle stellt ein erhebliches Risiko dar, da sie es einem Angreifer ermöglicht, Administratorrechte und damit die vollständige Kontrolle über die Website zu erlangen. Aus diesem Grund wurde dieser Fehler vom NIST² auf der CVSS-Skala als kritisch eingestuft und mit 9.1 bewertet.
Die CVE-2023-3460 nutzt einen Fehler in der Verwaltung von Rollen und Berechtigungen durch das Plugin aus. In WordPress wird die Funktion WP_Capabilities³ verwendet, um die Rollen und Berechtigungen der Benutzer zu verwalten. Diese Funktion ermöglicht es Administratoren, spezifische Fähigkeiten für jede Benutzerrolle festzulegen. Eine fehlerhafte Verwendung dieser Funktion kann jedoch zu Schwachstellen bei der Privilegienausweitung führen.
Im Fall von Ultimate Member ermöglicht die Schwachstelle einem Angreifer, die Überprüfung der WP-Fähigkeiten zu umgehen und Administratorzugriff auf die Website zu erhalten. Das Plugin funktioniert, indem es eine vordefinierte Liste von Benutzermetadaten-Schlüsseln verwendet, die von Benutzern nicht manipuliert werden sollten. Dieser Sicherheitsansatz, der auf Blocklisten basiert, ist jedoch oft unzureichend, da er Umgehungsmöglichkeiten offenlässt.
WordPress verwaltet die Rollen und Berechtigungen der Benutzer über eine Struktur namens wp_capabilities. Diese Struktur ist eine serialisierte Darstellung der verschiedenen Rollen und Berechtigungen, die Benutzern gewährt werden. Beispielsweise hat ein Administrator einen anderen Satz von Fähigkeiten als ein Redakteur oder Autor. Diese Fähigkeiten werden in der WordPress-Datenbank als serialisierte Arrays in der Tabelle wp_usermeta gespeichert.
Der Fehler CVE-2023-3460 hat seinen Ursprung in der Implementierung der Rollen- und Berechtigungsverwaltung durch Ultimate Member. Das Plugin arbeitet mit einer vordefinierten Liste von Benutzermetadaten-Schlüsseln, die Benutzer nicht manipulieren sollten. Diese Liste wird verwendet, um zu überprüfen, ob Benutzer versuchen, diese Schlüssel bei der Kontoerstellung zu speichern. Dieser Ansatz ist ein häufiges Sicherheits-Anti-Pattern, bei dem das Blockieren bekannter schädlicher Eingaben (Blocklisten) intuitiv erscheinen mag, sich aber als komplexer als erwartet erweist und oft Raum für Sicherheitsumgehungen lässt.
Hier verwendet Ultimate Member eine unzureichende Überprüfung der bei der Benutzerregistrierung übermittelten Metadaten. Das Plugin verwendet eine Funktion namens is_metakey_banned, um zu überprüfen, ob die vom Benutzer übermittelten Metadaten zulässig sind. Diese Funktion prüft, ob die übermittelten Metadaten in der Liste der gesperrten Metadaten enthalten sind. Ist dies der Fall, gibt die Funktion true zurück und die Benutzerregistrierung wird blockiert. Andernfalls gibt die Funktion false zurück und die Benutzerregistrierung wird zugelassen.
WordPress akzeptiert jedoch bestimmte akzentuierte Zeichen als Standardzeichen. Wenn ein Benutzer Metadaten mit akzentuierten Zeichen übermittelt, erkennt die Funktion is_metakey_banned diese nicht und die Benutzerregistrierung wird zugelassen.
Das Plugin Ultimate Member wird in verschiedenen Umgebungen eingesetzt, von kleinen persönlichen Blogs bis hin zu großen E-Commerce-Websites. Es können keine spezifischen Annahmen über die IT-Sicherheitskenntnisse der Endbenutzer oder Website-Administratoren getroffen werden.
Die Server, die WordPress-Websites hosten, befinden sich in der Regel in sicheren Rechenzentren. Bei persönlichen Websites hängt die physische Sicherheit von der individuellen Umgebung des Benutzers ab.
Es wird angenommen, dass das Plugin Ultimate Member gemäß den offiziellen Anweisungen installiert und korrekt konfiguriert ist. Es wird angenommen, dass die WordPress-Website auf dem neuesten Stand gehalten wird und grundlegende Sicherheitsmaßnahmen vorhanden sind.
| Bedrohungen | B1 (Vertraulichkeit der Benutzerdaten) | B2 (Integrität der Website) | B3 (Integrität des Plugins Ultimate Member) |
|---|---|---|---|
| M1 Unautorisierter Zugriff | X | X | X |
| M2 Einschleusung von Schadcode | X | X | |
| M3 Datenleck | X | ||
| M4 Rufschädigung | X |