Wenn Sie eine E-Mail von mir erhalten haben, die Sie auf diese Seite verweist, dann deshalb, weil Ihre Website offenbar eine Version von Ultimate Member einsetzt (dem WordPress-Mitgliedschafts- und Benutzerprofil-Plugin von Ultimate Member, das in Ihren Dateien unter /wp-content/plugins/ultimate-member/ liegt), die in den betroffenen Bereich eines bekannten Sicherheitsproblems fällt. Diese Seite erklärt, worum es bei dem Problem geht, wie Sie feststellen, ob es auf Ihre Website zutrifft, wie Sie Ihre Version ablesen, ohne getäuscht zu werden, und auf welche Version Sie aktualisieren sollten.

Das Problem ist CVE-2026-19423, eine nicht authentifizierte Schwachstelle zur Rechteausweitung (Privilege Escalation) in den Registrierungs- und Profilformularen des Plugins. Sie betrifft Ultimate Member in den Versionen 2.6.7 bis 2.12.1 und ist in 2.13.0 behoben, veröffentlicht am 24. August 2026. Wenn Sie eine Version in diesem Bereich einsetzen, aktualisieren Sie Ultimate Member auf 2.13.0 oder neuer. Für dieses Problem ist kein CVSS-Wert veröffentlicht (es wurde von WPScan ohne Schwere-Vektor vergeben), daher werde ich Ihnen keinen nennen, und mir ist kein öffentlicher Exploit-Code dafür bekannt.

Versionen vor 2.6.7 sind über dieses Problem nicht betroffen, und ich möchte dabei präzise sein, statt den Hinweis größer klingen zu lassen, als er ist. Es handelt sich nicht um eine Schwachstelle, die seit den Anfängen des Plugins besteht: Der Codepfad, auf dem sie beruht, wurde in 2.6.7 eingeführt. Eine Installation, die älter als 2.6.7 ist, ist hier also kein Ziel, und an Websites mit einer solchen Version habe ich nicht geschrieben. Sollte sich Ihre Version als älter als 2.6.7 herausstellen, können Sie diesen Hinweis für dieses Problem außer Acht lassen (wobei es sich aus anderen Gründen lohnt, ein derart weit zurückliegendes Plugin aktuell zu halten).

Zuallererst der Vorbehalt, der entscheidet, wie sehr dies Ihre Website betrifft, denn ich sage es lieber klar, als den Hinweis größer klingen zu lassen, als er ist: Dieses Problem erreicht nur eine Website, bei der eines Ihrer Ultimate-Member-Registrierungs- oder Profilformulare der Person, die es ausfüllt, eine Rollenauswahl anbietet, und bei der die Registrierung öffentlich offen steht. Eine Standard-Einrichtung von Ultimate Member setzt keine Rollenauswahl auf ihr Registrierungsformular (ein Administrator muss sie bewusst hinzufügen), sodass viele Websites mit einer betroffenen Version überhaupt nicht exponiert sind. Ich kann Ihre Plugin-Version aus einer öffentlichen Datei ablesen, aber ich kann nicht sehen, wie Ihre Formulare aufgebaut sind oder ob die Registrierung offen ist, daher ist dieser Hinweis eine vorsorgliche Information und kein bestätigter Befund zu Ihrer Website.

Ein Wort zur Dringlichkeit, denn dies ist ein bedingter Hinweis. Wenn keines Ihrer Ultimate-Member-Formulare einen Besucher eine Rolle wählen lässt, ist das Update gewöhnliche Plugin-Wartung. Wenn eines dies doch tut und die Registrierung offen ist, behandeln Sie das Update bitte als Priorität: In dieser Konfiguration könnte ein Besucher, der sich selbst ein Konto registriert, diesem Konto erhöhte Rechte zuweisen, möglicherweise bis auf ein Administrator-äquivalentes Niveau, ohne jeglichen vorherigen Zugang zu Ihrer Website. Das ist dort, wo es zutrifft, ein schwerwiegendes Ergebnis, weshalb ich schreibe, statt es als geringe Priorität abzulegen; es gilt aber nur unter den obigen Bedingungen, und das Update beseitigt es unabhängig davon.

Dies ist eine Schwachstelle eines Plugins, nicht des WordPress-Kerns. Ein vollständig aktuelles WordPress schützt Sie nicht, wenn das Ultimate-Member-Plugin selbst auf einer betroffenen Version ist.

Ist diese Nachricht seriös?

Ja. Dies ist ein Hinweis nach Treu und Glauben im Sinne der verantwortungsvollen Offenlegung von einem unabhängigen Sicherheitsforscher. Ich bitte Sie nicht um Geld, Passwörter oder Zugang zu Ihrer Website, und ich habe nicht versucht, in sie einzudringen, mich auf ihr zu registrieren oder etwas auszunutzen.

Ich habe lediglich Seiten und Dateien betrachtet, die Ihre Website jedem Besucher bereitstellt (so wie auch Ihre Startseite öffentlich ist), und die Versionsnummer notiert, die das Plugin veröffentlicht. Ich habe ausdrücklich kein Konto angelegt, kein Registrierungs- oder Profilformular abgeschickt, mich nicht angemeldet und nichts an die betroffene Funktion gesendet. Nichts an dieser Prüfung berührt Ihre Daten, Ihren Administrationsbereich oder irgendeinen privaten Teil Ihrer Website (mehr dazu unter Was ich getan und nicht getan habe weiter unten).

Wenn Sie überprüfen möchten, wer ich bin, sehen Sie sich die Kontaktdaten am Ende dieser Seite und die Über-Seite an.

Warum das wichtig ist

Ultimate Member stellt auf sehr vielen WordPress-Websites die Registrierungs-, Anmelde- und Mitgliederprofilseiten bereit. Wenn sich jemand registriert, entscheidet das Plugin, welche Rolle das neue Konto erhalten soll. Bei einem Formular, das eine Rollenauswahl anbietet, soll es nur die Rollen akzeptieren, die für dieses Formular konfiguriert wurden.

In betroffenen Versionen verwirft das Plugin, wenn die Liste der zugelassenen Rollen eines solchen Formulars leer ausfällt, die vom Besucher übermittelte Rolle nicht mehr. Stattdessen behält es diesen Wert und prüft ihn nur noch gegen die Rollen, die Ihre Website überhaupt hat, nicht gegen die Rollen, die das Formular anbieten sollte. Die Folge ist, dass ein Besucher, der sich selbst ein Konto registriert, es auf eine Rolle lenken konnte, die er nie erhalten sollte, bis hin zu einem Administrator-äquivalenten Niveau.

Die Voraussetzung, um sie zu wiederholen, weil sie der Teil ist, der am ehesten in beide Richtungen missverstanden wird: Dies erfordert eine Rollenauswahl auf einem öffentlichen Formular und eine offene Registrierung. Keines von beidem ist die Standardeinstellung. Das Standard-Registrierungsformular von Ultimate Member enthält kein Rollenfeld, auf einer typischen Installation gibt es hier also nichts zu erreichen. Wo ein Administrator ein Rollenfeld hinzugefügt und die Registrierung offen gelassen hat, ist die Hürde nur so hoch wie die Frage, wer dieses Formular absenden kann, und das ist bei offener Registrierung jeder.

Ich beschreibe dies auf dem Niveau, das ein Website-Betreiber zum Handeln braucht, und nicht weiter. Ich veröffentliche nicht die Details, die es jemandem ermöglichen würden, es nachzustellen, und ich bitte Sie, es nicht gegen Ihre eigene Website oder die einer anderen Person zu versuchen. Das Ablesen Ihrer Versionsnummer und die Prüfung Ihrer eigenen Formulare, wie unten beschrieben, sagt Ihnen alles, was Sie brauchen, um zu entscheiden, was zu tun ist.

Wenn meine E-Mail dieses Problem genannt hat, bedeutet das, dass die von Ihrer Website gemeldete Version im Bereich 2.6.7 bis 2.12.1 liegt. Ich habe nicht getestet, ob Ihre konkrete Website ausnutzbar ist, und ich kann nicht sehen, wie Ihre Formulare aufgebaut sind. Alles, was ich beobachtet habe, ist die Version.

Bin ich betroffen?

Zwei Fragen entscheiden darüber, in dieser Reihenfolge.

Erstens: Bietet eines Ihrer Formulare eine Rollenauswahl an, bei offener Registrierung?

Dies ist die entscheidende Frage, und nur Sie können sie beantworten, denn sie hängt davon ab, wie Ihre Formulare aufgebaut sind, was von außen nicht sichtbar ist. Die Prüfung ist völlig sicher und der eigentliche Zweck dieser Seite.

  1. Gehen Sie in Ihrem WordPress-Dashboard zu Ultimate Member dann Formulare und öffnen Sie nacheinander jedes Ihrer Registrierungs- und Profilformulare.
  2. Sehen Sie sich die Felder jedes Formulars auf ein Feld zur Rollenauswahl hin an (ein Dropdown oder eine Optionsgruppe, mit der die sich registrierende Person eine Rolle wählen kann, manchmal mit „Rolle” beschriftet). Auf den meisten Websites gibt es keines, denn das Standard-Registrierungsformular enthält keines.
  3. Prüfen Sie, ob die Registrierung öffentlich offen ist: Einstellungen dann Allgemein dann Mitgliedschaft, das Kontrollkästchen „Jeder kann sich registrieren” (WordPress-Kern), und ob Ihr Ultimate-Member-Registrierungsformular für Besucher erreichbar ist.
  4. Wenn kein Formular eine Rollenauswahl anbietet, erreicht dieses Problem Ihre Website nicht, selbst auf einer betroffenen Version, wobei sich das Update als gewöhnliche Wartung dennoch lohnt.
  5. Wenn irgendein Formular eine Rollenauswahl anbietet und die Registrierung offen ist, behandeln Sie das Update als Priorität (siehe So aktualisieren Sie). Wenn Sie nicht sofort aktualisieren können, besteht der Zwischenschritt darin, das Rollenfeld aus allen öffentlich zugänglichen Registrierungs- oder Profilformularen zu entfernen oder die öffentliche Registrierung zu schließen, bis Sie aktualisiert haben. Die eigentliche Behebung ist das Update.

Bitte versuchen Sie nicht, das Problem gegen Ihre eigene Website oder die einer anderen Person nachzustellen; das ist nicht nötig, um die obige Frage zu beantworten.

Zweitens: Welche Version setzen Sie ein?

Sie müssen mir nicht glauben. Es gibt zwei öffentliche Wege, Ihre Version abzulesen, und einen im Dashboard, und sie sollten übereinstimmen.

Aus dem WordPress-Administrationsbereich (maßgeblich):

  1. Melden Sie sich in Ihrem WordPress-Dashboard an (üblicherweise unter yourdomain.com/wp-admin).
  2. Gehen Sie zu Plugins dann Installierte Plugins.
  3. Suchen Sie Ultimate Member, den Eintrag, dessen Ordner ultimate-member ist, und notieren Sie die unter seinem Namen angezeigte Version.

Aus dem öffentlichen Manifest (keine Anmeldung nötig): öffnen Sie

yourdomain.com/wp-content/plugins/ultimate-member/readme.txt

in einem Browser und lesen Sie die Zeile Stable tag: nahe dem Anfang. Das ist die öffentliche Quelle, die ich gelesen habe. Wenn diese Adresse ein „nicht gefunden” zurückgibt, versuchen Sie README.txt in Großbuchstaben; manche Hoster unterscheiden Groß- und Kleinschreibung, und einige Pakete liefern die Datei großgeschrieben aus.

Aus Ihrem Seitenquelltext (keine Anmeldung nötig): Sehen Sie sich den Quelltext Ihrer Startseite an und suchen Sie nach den plugin-eigenen Stylesheets genau unter diesen Pfaden:

/wp-content/plugins/ultimate-member/assets/css/um-styles.min.css?ver=...
/wp-content/plugins/ultimate-member/assets/css/um-profile.min.css?ver=...

Die an diese Dateien angehängte ?ver=-Nummer ist die eigene Version des Plugins. Ultimate Member lädt diese Stylesheets standardmäßig auf jeder Frontend-Seite, unabhängig davon, ob die Seite einen Mitgliederbereich anzeigt, sodass Ihre Startseite in der Regel genügt.

Die Falle, die Sie hier vermeiden sollten, und in die man leicht tappt. Ultimate Member liefert gebündelte Kopien mehrerer Drittanbieter-Bibliotheken innerhalb seines eigenen Plugin-Ordners aus, und jede davon trägt ihre eigene, völlig unabhängige Versionsnummer. Ihr Seitenquelltext kann eine Cropper-Bibliothek mit ?ver=1.6.1, Font Awesome mit ?ver=6.5.2 oder Select2 mit ?ver=3.6.2 zeigen, alle auf Pfaden, die mit dem Ultimate-Member-Plugin-Ordner beginnen. Wer im Seitenquelltext nach dem Plugin-Ordner sucht und den ersten ?ver=-Wert abliest, der auftaucht, kann leicht mit einer dieser Nummern davonkommen, die mit der Version des Plugins nichts zu tun hat. Lesen Sie die Version nur von den plugin-eigenen um--Stylesheets ab (um-styles, um-profile, um-account und dergleichen) und ignorieren Sie jedes andere ?ver= auf der Seite. Wenn Sie aus dem Seitenquelltext überhaupt keine lesbare Nummer erhalten, ist das häufig und kein Zeichen für irgendetwas; Caching- und Optimierungsplugins entfernen den ?ver=-Wert routinemäßig. Nutzen Sie dann stattdessen die readme.txt oder den Admin-Bildschirm.

Wenden Sie dann diese Regel an, und beachten Sie, dass Versionen numerisch verglichen werden, nicht alphabetisch, sodass 2.12.1 neuer ist als 2.6.7, auch wenn „12” als Text kleiner aussieht als „6”:

  • 2.6.7 bis 2.12.1: betroffen, vorbehaltlich der obigen Formularfrage. Aktualisieren Sie auf 2.13.0 oder neuer.
  • 2.13.0 oder neuer: in Bezug auf dieses Problem bereits behoben. Die neueste verfügbare Version zu nehmen ist der beste Schritt.
  • Alles, was älter als 2.6.7 ist: über dieses Problem nicht betroffen. Ein Update lohnt sich dennoch als gewöhnliche Wartung.

So aktualisieren Sie

Das Plugin ist kostenlos, wird weiterhin veröffentlicht und aktiv gewartet, die Behebung ist also ein normales Update. Der sicherste Weg ist die Aktualisierung über WordPress selbst, und zwar nach vorheriger Sicherung:

  1. Sichern Sie Ihre Website (Dateien und Datenbank), bevor Sie Änderungen vornehmen. Die meisten Hosting-Anbieter bieten Ein-Klick-Sicherungen an, oder Sie verwenden ein WordPress-Backup-Plugin.
  2. Gehen Sie in der WordPress-Administration zu Dashboard dann Aktualisierungen, oder Plugins dann Installierte Plugins. Wenn ein Update für Ultimate Member aufgeführt ist, installieren Sie es von hier aus.
  3. Wenn Sie die Kommandozeile bevorzugen, erledigt WP-CLI dasselbe: wp plugin update ultimate-member (der Befehl verwendet den Ordnernamen, nicht den Anzeigenamen).
  4. Wenn kein Update erscheint, können Sie die neueste Version direkt von der Seite des Plugins im WordPress.org-Verzeichnis beziehen, Ultimate Member, und über Plugins dann Neues Plugin hinzufügen dann Plugin hochladen aktualisieren.
  5. Bestätigen Sie nach dem Update die neue Versionsnummer (2.13.0 oder neuer) anhand der obigen Schritte und registrieren Sie ein Testkonto (oder prüfen Sie Ihre bestehenden Mitglieder- und Registrierungsabläufe), um sicherzugehen, dass alles weiterhin wie erwartet funktioniert.

Wenn Sie schon dabei sind, lohnt es sich zu bestätigen, dass der WordPress-Kern und Ihre übrigen Plugins aktuell sind, denn dasselbe Prinzip gilt für alle.

Nach dem Update: Wurde dies bereits gegen Sie ausgenutzt?

Das Update auf 2.13.0 oder neuer schließt das Problem, und für viele Websites ist das bereits die ganze Aufgabe. Diese Seite ist eine vorsorgliche Information, kein Vorfallsbericht: Ich habe keine Einsicht darin, ob auf Ihrer Website etwas passiert ist, und ich habe auch nicht danach gesucht.

Eine Nachfolgemaßnahme ist es wert, durchgeführt zu werden, und sie hängt von derselben Formularfrage ab. Da das Ergebnis dieses Problems, wo es zutrifft, ein Konto mit erhöhten Rechten ist, lohnt es sich, falls Ihre Website ein Registrierungs- oder Profilformular mit einer Rollenauswahl hatte, während die Registrierung offen war und Sie eine betroffene Version einsetzten, zu bestätigen, dass niemand darüber ein Konto angelegt hat, das es nicht geben sollte:

  • Sehen Sie Ihre Benutzerkonten durch, insbesondere die Administratoren. Filtern Sie unter Benutzer dann Alle Benutzer nach Administrator (und weiteren Rollen mit hohen Rechten) und suchen Sie nach Konten, die Sie nicht wiedererkennen, oder nach Konten, die um die Zeit oder nach der Zeit angelegt wurden, in der Sie eine betroffene Version einsetzten. Achten Sie auf kürzlich registrierte Benutzer, deren Rolle höher ist als die eines normalen Mitglieds.
  • Wenn Sie ein Konto finden, das Sie sich nicht erklären können, behandeln Sie es wie jeden anderen vermuteten unbefugten Zugriff: Entfernen Sie es oder stufen Sie es herab, erzwingen Sie ein Zurücksetzen der Passwörter Ihrer Administratoren, und wenn Ihre Organisation ein IT-Sicherheitsteam hat, ziehen Sie es hinzu.
  • Wenn alles so aussieht, wie es sein soll, und insbesondere wenn gar kein Formular eine Rollenauswahl anbot, genügt allein das Update.

Zur Klarheit über die Einordnung: Dies ist eine Selbstprüfung, keine Feststellung, dass Ihre Website angegriffen wurde. Dieser Hinweis beruht auf einer Versionsnummer, nicht auf irgendeinem Beleg für einen Vorfall.

Was ich getan und nicht getan habe

Um die Prüfung hinter meiner E-Mail vollständig transparent zu machen: Ich habe nur Dateien gelesen, die Ihre Website ohnehin jedem Besucher bereitstellt, konkret Ihre Startseite und die Adressen der darin eingetragenen Ultimate-Member-Stylesheets sowie die öffentliche readme.txt des Plugins in wp-content/plugins/ultimate-member/. Ich habe nicht auf Ihren WordPress-Administrationsbereich, Ihre Datenbank, Ihre Formularkonfiguration oder irgendeinen privaten Teil der Website zugegriffen.

Insbesondere habe ich nie ein Konto angelegt, nie Ihr Registrierungs- oder Profilformular abgeschickt, mich nie angemeldet und nie etwas an die betroffene Funktion gesendet. Es wurde nichts übermittelt, getestet oder ausgenutzt. Das ist hier wichtig, denn eine Registrierungsübermittlung kommt genau der Aktion nahe, um die es bei diesem Problem geht; „ich habe es nicht berührt” ist also der ganze Unterschied zwischen einer Offenlegung und einem Eindringen.

Ich veröffentliche außerdem absichtlich nicht die Details, die jemandem helfen würden, dieses Problem auszunutzen. Die obige Beschreibung bleibt auf dem Niveau, das ein Website-Betreiber braucht, und ich verlinke keinen Proof-of-Concept-Code.

Dies ist eine versionsbasierte Beobachtung: Ihre Website meldet eine Version im Bereich 2.6.7 bis 2.12.1. Es ist keine Aussage darüber, dass Ihre Website zum Zeitpunkt meiner Prüfung ausnutzbar war. Da dieses Problem davon abhängt, wie Ihre Formulare aufgebaut sind und ob die Registrierung offen ist (Dinge, die ich nicht sehen kann), ist eine Website im betroffenen Bereich womöglich überhaupt nicht exponiert, und eine Website in diesem Bereich kann zudem durch andere Mittel wie eine Web Application Firewall oder eine rückportierte Korrektur geschützt sein. Wenn Sie bereits aktualisiert oder das Problem anderweitig behoben haben, ist nichts weiter zu tun, und ich entschuldige mich für die Störung.

Ich habe keinen Webmaster / ich komme nicht weiter

Wenn Sie nicht die Person sind, die die Website betreut, leiten Sie diese Seite bitte an diejenige Person weiter, die das tut (Ihr Webentwickler, Ihre Agentur oder Ihr Hosting-Anbieter). Sie wird die obigen Schritte schnell wiedererkennen.

Wenn Sie die Website selbst betreuen und nicht weiterkommen, helfe ich Ihnen gerne kostenlos, in die richtige Richtung zu finden. Melden Sie sich über die Kontaktdaten unten.

Kontakt

Evan Harris, Sicherheitsforscher

Ich wende mich bei Problemen wie diesem ausschließlich deshalb an Betreiber, um ihnen zu helfen, ihre Websites abzusichern. Wenn Sie nicht erneut kontaktiert werden möchten, teilen Sie mir das einfach mit, und ich werde das respektieren.

Quellen

Offizielle Hinweise und Nachverfolgung

Hersteller / Plugin