Simple Membership Sicherheitshinweis
Wenn Sie eine E-Mail von mir erhalten haben, die Sie auf diese Seite verweist, liegt dies daran,
dass Ihre Website anscheinend eine Version von Simple Membership (das WordPress-Mitgliedschafts-Plugin
von smp7 / wp.insider, das sich in Ihren Dateien unter
/wp-content/plugins/simple-membership/ befindet) ausführt, die in den betroffenen Bereich eines
bekannten Sicherheitsproblems fällt. Diese Seite erklärt, worum es sich bei dem Problem handelt,
wie Sie prüfen können, welche Version Sie haben, wie Sie aktualisieren, und welcher Schritt danach
am wichtigsten ist.
Es handelt sich um CVE-2026-15930, eine nicht authentifizierte Übernahme eines Administratorkontos über das plugin-eigene Mitgliedschaftsregistrierungsformular. Betroffen ist jede Veröffentlichung vor 4.7.8, und das Problem wurde in 4.7.8 behoben. Wenn Sie eine Version älter als 4.7.8 ausführen, aktualisieren Sie Simple Membership auf 4.7.8 oder höher (4.7.9 erschien später und behält die Korrektur bei, ist also ebenfalls in Ordnung).
Ein Punkt sollte klar sein, da er sich von manchen anderen Hinweisen unterscheidet, die ich verschickt habe: Es gibt keine ältere Version, die sicher ist. Dies ist kein Fehler, der irgendwann eingeführt und dann behoben wurde. Er war im Plugin von seiner frühesten veröffentlichten Version bis einschließlich 4.7.7 vorhanden, sodass „meine Installation ist zu alt, um betroffen zu sein” hier kein Ausweg ist. Die einzigen Versionen, die nicht betroffen sind, sind 4.7.8 und neuer.
Dieser Hinweis hängt außerdem nicht davon ab, wie Ihre Website konfiguriert ist. Es gibt keine
Einstellung, die aktiviert sein muss: Sobald das Plugin aktiviert ist, veröffentlicht es eine Seite
membership-registration mit seinem Registrierungsformular, sodass eine Standardinstallation das
Formular Besuchern zugänglich macht, die nicht angemeldet sind. Wenn Ihre Version älter als 4.7.8
ist, lohnt sich das Update zeitnah.
Dies ist eine Plugin-Schwachstelle und keine Schwachstelle im WordPress-Kern. Ein vollständig auf dem neuesten Stand befindliches WordPress schützt Sie nicht, wenn das Simple-Membership-Plugin selbst eine betroffene Version ausführt.
Ist diese Nachricht echt?
Ja. Dies ist ein Hinweis im guten Glauben im Rahmen der verantwortungsvollen Offenlegung eines unabhängigen Sicherheitsforschers. Ich bitte Sie nicht um Geld, Passwörter oder Zugriff auf Ihre Website, und ich habe nicht versucht, in sie einzubrechen, ihr etwas zu übermitteln oder etwas auszunutzen.
Ich habe lediglich öffentlich sichtbare Dateien betrachtet, die Ihre Website jedem Besucher bereitstellt (auf die gleiche Weise wie Ihre Startseite öffentlich ist), und die Versionsnummer notiert, die das Plugin veröffentlicht. Ich habe bewusst nicht Ihr Registrierungsformular abgeschickt oder etwas an es gesendet, und nichts an dieser Überprüfung berührt Ihre Daten, Ihren Admin-Bereich oder einen privaten Teil Ihrer Website (weitere Details unter Was ich getan und nicht getan habe unten).
Wenn Sie überprüfen möchten, wer ich bin, finden Sie die Kontaktdaten am Ende dieser Seite und auf der Seite Über.
Warum das wichtig ist
Simple Membership fügt einer WordPress-Website Mitgliedschaftsstufen und geschützte Inhalte hinzu und bietet Besuchern ein öffentliches Anmeldeformular, über das sie sich selbst für eine Mitgliedschaft registrieren können. Dieses Formular ist hier der Einstiegspunkt.
In betroffenen Versionen prüfte das Plugin nicht, ob WordPress das neue Konto tatsächlich erstellt hatte, bevor es fortfuhr, die übermittelten Angaben zu speichern. Wenn die angeforderte Anmeldung nicht als wirklich neuer Benutzer erstellt werden konnte, weil der gewählte Name mit einem bereits bestehenden Konto kollidierte, machte das Plugin trotzdem weiter und schrieb die übermittelten Angaben auf dieses bestehende Konto. Die praktische Auswirkung: Die E-Mail-Adresse und das Passwort, die in das öffentliche Anmeldeformular eingegeben wurden, werden zu den Anmeldedaten eines Kontos, das bereits auf der Website existierte. In der Praxis handelt es sich bei dem überschriebenen Konto um den ursprünglichen Administrator der Website, wodurch die Kontrolle über die Website an denjenigen übergeht, der das Formular ausgefüllt hat.
Zwei Dinge sollte man klar aussprechen. Erstens ist keine Anmeldung erforderlich, und nichts muss falsch konfiguriert sein: Ein anonymer Besucher und die Registrierungsseite, die das Plugin von selbst veröffentlicht, genügen. Zweitens ist das Ergebnis die administrative Kontrolle und nicht ein begrenztes Datenleck, weshalb die Empfehlung hier lautet, zeitnah zu aktualisieren, statt es in Ihr nächstes Wartungsfenster zu verschieben.
Ich beschreibe dies auf einem Niveau, das ein Website-Betreiber zum Handeln benötigt, und nicht weiter. Ich veröffentliche nicht die Details, die es jemandem ermöglichen würden, dies nachzustellen, und ich bitte Sie, dies nicht gegen Ihre eigene Website oder die einer anderen Person zu versuchen. Das Ablesen Ihrer Versionsnummer, wie unten beschrieben, sagt Ihnen alles, was Sie wissen müssen, um zu entscheiden, was zu tun ist.
Wenn meine E-Mail dieses Problem zitiert, bedeutet dies, dass die von Ihrer Website gemeldete Version älter als 4.7.8 ist. Ich habe nicht getestet, ob Ihre spezifische Website ausnutzbar ist; alles, was ich beobachtet habe, ist die Version.
Bin ich betroffen?
Es kommt auf eine Frage an: Welche Version von Simple Membership führen Sie aus? Sie müssen mir nicht glauben, und es gibt drei Möglichkeiten zur Überprüfung. Anders als bei manchen Plugins, über die ich schreibe, sind hier alle drei vertrauenswürdig, da sie alle dieselbe zugrunde liegende Versionsnummer melden.
Aus dem WordPress-Adminbereich (maßgeblich):
- Melden Sie sich in Ihrem WordPress-Dashboard an (meist unter
yourdomain.com/wp-admin). - Gehen Sie zu Plugins und dann Installierte Plugins.
- Finden Sie Simple Membership, den Eintrag, dessen Ordner
simple-membershipist, und notieren Sie die unter seinem Namen angezeigte Version.
Aus dem öffentlichen Manifest (kein Login erforderlich): Öffnen Sie
yourdomain.com/wp-content/plugins/simple-membership/readme.txt in einem Browser. Die Zeile
Stable tag: nahe dem Anfang ist die Version, die Ihre Installation meldet, und dies ist
dieselbe öffentliche Datei, die ich gelesen habe.
Aus Ihrem Seitenquelltext (kein Login erforderlich): Sehen Sie sich den Quelltext einer
beliebigen Seite auf Ihrer Website an und suchen Sie nach dem Stylesheet des Plugins,
css/swpm.common.css, unter /wp-content/plugins/simple-membership/. Die daran angehängte
?ver=-Nummer ist die Plugin-Version, die aus der eigenen Versionskonstante des Plugins stammt,
sodass sie für dieses Plugin eine zuverlässige Angabe ist und keine Täuschung.
Wenden Sie dann diese Regel an, wobei Sie beachten müssen, dass Versionen numerisch und nicht alphabetisch verglichen werden, sodass 4.7.10 neuer wäre als 4.7.8, auch wenn es als Text kleiner aussieht:
- Alles älter als 4.7.8: betroffen. Jetzt aktualisieren. Es gibt keine Untergrenze, unterhalb derer eine ältere Version wieder sicher wird.
- 4.7.8 oder neuer: bereits behoben. Dazu gehört 4.7.9, das die Korrektur beibehält.
Ein Hinweis zu den Add-ons von Simple Membership. Die kostenpflichtigen Add-ons des Plugins
werden als eigenständige Plugins, in eigenen Ordnern, mit eigenen Versionslinien installiert.
Die Versionsnummer eines Add-ons sagt überhaupt nichts über dieses Problem aus. Maßgeblich ist die
Version des Kern-Plugins Simple Membership, Ordner simple-membership, wie sie sich aus jeder
der drei obigen Prüfungen ergibt.
Wie Sie aktualisieren
Der sicherste Weg ist die Aktualisierung über WordPress selbst, und zwar nach vorheriger Sicherung:
- 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-Sicherungsplugin.
- Gehen Sie im WordPress-Adminbereich zu Dashboard und dann zu Aktualisierungen, oder zu Plugins und dann zu Installierte Plugins. Wenn ein Simple-Membership-Update aufgelistet ist, installieren Sie es hier.
- Wenn Sie die Befehlszeile bevorzugen, erledigt WP-CLI dasselbe:
wp plugin update simple-membership. - Wenn kein Update angezeigt wird, können Sie die neueste Version direkt von der Plugin-Seite im WordPress.org-Verzeichnis herunterladen, Simple Membership, und das Update über Plugins dann Plugin installieren dann Plugin hochladen durchführen.
- Bestätigen Sie nach dem Update die neue Versionsnummer (4.7.8 oder höher) mit den oben genannten Schritten und prüfen Sie, ob Ihr Registrierungsformular, Ihre Mitgliedschaftsstufen und geschützten Inhalte weiterhin normal funktionieren.
Wenn Sie die kostenpflichtigen Add-ons von Simple Membership verwenden, aktualisieren Sie diese zusammen mit dem Kern-Plugin, da ihre Veröffentlichungen in der Regel aufeinander abgestimmt sind.
Während Sie dort sind, lohnt es sich zu bestätigen, dass WordPress-Kern und Ihre anderen Plugins auf dem neuesten Stand sind, da das gleiche Prinzip für alle gilt.
Nach dem Update
Das Update auf 4.7.8 oder höher schließt das Problem. Es gibt hier einen Folgeschritt, der wichtiger ist als die übliche Routine, und der es wert ist, gelesen zu werden, selbst wenn Sie sicher sind, dass nichts passiert ist.
Der übliche Rat würde dies hier übersehen. Wenn Menschen eine Website nach einer Übernahme-Schwachstelle überprüfen, achten sie auf unbekannte neue Administratorkonten. Diese Prüfung würde hier nichts finden, weil kein neues Konto erstellt wird. Ein bereits bestehendes Konto wird überschrieben, sodass sich die Anzahl der Administratoren nicht ändert und kein unbekannter Name in der Liste erscheint. Was sich ändert, sind die Anmeldedaten eines Kontos, das Sie bereits kennen. Daher:
- Überprüfen Sie die E-Mail-Adresse jedes Administratorkontos. Gehen Sie im WordPress-Adminbereich zu Benutzer, filtern Sie nach Administrator, und bestätigen Sie, dass jedes Konto noch die E-Mail-Adresse trägt, die es haben sollte. Ein Administratorkonto, dessen E-Mail-Adresse nicht mehr die der richtigen Person ist, ist das Erkennungszeichen für dieses Problem.
- Setzen Sie die Passwörter Ihrer Administratorkonten zurück, sowie die aller anderen Konten, die von Bedeutung sind. Tun Sie dies auch dann, wenn alle E-Mail-Adressen korrekt aussehen.
- Das Erneuern der geheimen Schlüssel und Salts von WordPress in
wp-config.phpist ein sinnvoller Begleitschritt (neue Werte sind mit einem Klick über den offiziellen Schlüsselgenerator erreichbar; das Austauschen dieser Werte meldet alle Benutzer einmal ab).
Bitte beachten Sie, dass das Update die Lücke schließt, aber keinen bereits erfolgten Zugriff rückgängig macht. Wenn jemand ein Konto übernommen hat, bevor Sie aktualisiert haben, besitzt diese Person die Anmeldedaten auch danach noch, weshalb das oben genannte Zurücksetzen der Passwörter so wichtig ist. Wenn Sie etwas finden, das Sie beunruhigt, behandeln Sie es wie jeden anderen vermuteten unbefugten Zugriff.
Ich habe keine Einsicht darin, ob auf Ihrer Website tatsächlich etwas passiert ist, und ich habe auch nicht danach gesucht. Dies ist eine vorbeugende Mitteilung, kein Vorfallbericht.
Was ich getan und nicht getan habe
Um bezüglich der Überprüfung hinter meiner E-Mail vollständig transparent zu sein: Ich habe nur
zwei öffentliche Dateien gelesen, die Ihre Website bereits jedem Besucher bereitstellt, konkret die
öffentliche readme.txt-Datei des Plugins und Ihre Startseite. Ich habe nicht auf Ihren
WordPress-Adminbereich, Ihre Datenbank oder einen privaten Teil der Website zugegriffen.
Insbesondere habe ich nie Ihr Registrierungsformular abgeschickt oder etwas an es gesendet. Es wurde nichts eingereicht, getestet oder ausgenutzt. Das ist hier wichtiger als auf den meisten dieser Seiten, da das Registrierungsformular genau das ist, worum es bei diesem Problem geht. „Ich habe es nicht berührt” ist also der gesamte Unterschied zwischen einer Offenlegung und einem Eindringen.
Ich veröffentliche auch absichtlich nicht die Details, die jemandem helfen würden, dieses Problem auszunutzen. Die obige Beschreibung bleibt auf dem Niveau, das ein Website-Betreiber benötigt, und ich verlinke keinen Proof-of-Concept-Code.
Dies ist eine versionsbasierte Beobachtung: Ihre Website meldet eine Version älter als 4.7.8. Eine Website in diesem Bereich kann bereits durch andere Mittel geschützt sein, etwa eine Web Application Firewall oder eine zurückportierte Korrektur. Dieser Hinweis ist keine Aussage darüber, dass Ihre Website zum Zeitpunkt meiner Prüfung ausnutzbar war.
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 dies tut (Ihr Webentwickler, Ihre Agentur oder Ihr Hosting-Anbieter). Sie werden die oben genannten Schritte schnell erkennen.
Wenn Sie die Website selbst betreuen und nicht weiterkommen, helfe ich Ihnen gerne kostenlos in die richtige Richtung. Kontaktieren Sie mich über die unten stehenden Kontaktdaten.
Kontakt
Evan Harris, Sicherheitsforscher
- E-Mail: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
Ich kontaktiere Sie bezüglich solcher Probleme ausschließlich, um Betreibern bei der Sicherung ihrer Websites zu helfen. Wenn Sie nicht erneut kontaktiert werden möchten, teilen Sie mir dies einfach mit, und ich werde dies respektieren.
Quellen
Offizielle Meldungen und Nachverfolgung
Hersteller / Plugin