Profile Builder 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 Profile Builder ausführt (das WordPress-Plugin, das auf WordPress.org als „Profile Builder” / „User Profile Builder” gelistet ist, von Cozmoslabs, das sich in Ihren Dateien unter /wp-content/plugins/profile-builder/ befindet), die in den betroffenen Bereich eines bekannten Sicherheitsproblems fällt. Diese Seite erklärt, worum es sich bei dem Problem handelt, wie Sie herausfinden können, ob es überhaupt auf Ihre Website zutrifft, wie Sie Ihre Version korrekt ablesen, ohne getäuscht zu werden, und wie Sie ein Update durchführen.
Bitte beachten Sie: Dies ist nicht ProfilePress. Es gibt ein anderes WordPress-Plugin mit einem ähnlichen Namen (ProfilePress, Ordner wp-user-avatar), über das ich separat schreibe. Wenn Ihr Plugin-Ordner wp-user-avatar statt profile-builder lautet, ist diese Seite nicht die richtige für Sie; sehen Sie stattdessen den ProfilePress-Hinweis. Alles Folgende betrifft ausschließlich das Profile Builder-Plugin von Cozmoslabs.
Bevor wir zu den Details kommen, ist dies die wichtigste Tatsache zu diesem Hinweis: Eine Version im betroffenen Bereich bedeutet für sich genommen nicht, dass Ihre Website exponiert ist. Das unten beschriebene Problem tritt nur auf Websites auf, die eine bestimmte Einstellung aktiviert haben, und ich kann Ihre Einstellungen von außen nicht sehen:
- Die Option „Automatically Log In” von Profile Builder, die einen neuen Benutzer direkt nach Abschluss der Registrierung anmeldet, muss aktiviert sein.
- Diese Option ist standardmäßig deaktiviert. Eine Website, die sie nie aktiviert hat, ist diesem Problem nicht ausgesetzt, selbst bei einer betroffenen Version.
Ich kann Ihre Plugin-Version aus einer öffentlich zugänglichen Datei ablesen, aber ich kann Ihre Konfiguration nicht einsehen. Daher ist dieser Hinweis eine vorsorgliche Warnung und kein bestätigter Befund bezüglich Ihrer Website.
Es handelt sich um CVE-2026-15368, eine nicht authentifizierte Kontoübernahme im automatischen Anmeldeschritt des Plugins. Betroffen sind die Versionen 2.1.4 bis 3.16.3, und das Problem wurde in 3.16.4 behoben. Wenn Sie eine betroffene Version ausführen, aktualisieren Sie Profile Builder auf Version 3.16.4 oder höher. Es hat einen CVSS-Wert von 8.1. Mir ist kein öffentlicher Exploit-Code dafür bekannt.
Ein Wort zur Dringlichkeit, da es sich um einen bedingten Hinweis handelt. Wenn Sie nach der Registrierung keine automatische Anmeldung verwenden, ist das Update eine gewöhnliche Plugin-Wartung. Wenn doch, behandeln Sie das Update bitte als Priorität: In dieser Konfiguration könnte die Schwachstelle einem Besucher ohne jegliches Konto ermöglichen, eine angemeldete Sitzung zu erhalten, die einem bestehenden Benutzer gehört, dessen E-Mail-Adresse er kennt, einschließlich eines Administrators, was die Kontrolle über die Website preisgeben würde.
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 Profile Builder-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, mich auf ihr zu registrieren oder irgendetwas 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 ausdrücklich nicht Ihr Registrierungsformular abgeschickt, kein Konto erstellt und mich nicht an den automatischen Anmeldeschritt herangewagt. 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
Profile Builder fügt einer WordPress-Website Front-End-Formulare für Registrierung, Anmeldung und Profilbearbeitung hinzu, sodass sich Besucher anmelden und ihre eigenen Konten verwalten können, ohne jemals den Admin-Bereich zu sehen. Eine der Annehmlichkeiten ist die Option, einen neuen Benutzer automatisch anzumelden, sobald seine Registrierung abgeschlossen ist, wodurch ihm das erneute Eingeben seines Passworts auf einem separaten Anmeldeformular erspart bleibt.
In betroffenen Versionen entschied diese Annehmlichkeit auf die falsche Weise, welches Konto angemeldet wird. Statt das gerade erstellte Konto zu verwenden, suchte das Plugin ein Konto anhand der E-Mail-Adresse, die in das Registrierungsformular eingegeben worden war, und meldete dieses an. Wenn die übermittelte Adresse zu jemandem gehörte, der bereits ein Konto auf der Website hatte, erhielt die Person, die das Formular ausfüllte, eine angemeldete Sitzung für dieses bestehende Konto.
Daraus ergeben sich zwei Punkte, die in entgegengesetzte Richtungen weisen. Der erste ist, dass dies nur geschieht, wenn die automatische Anmeldung eingeschaltet ist. Ist die Einstellung ausgeschaltet, startet das Plugin den automatischen Anmeldeschritt überhaupt nicht, sodass eine Website in diesem Zustand über dieses Problem nicht erreichbar ist. Der zweite ist, dass dort, wo die Einstellung eingeschaltet ist, nichts die Folgen auf gewöhnliche Mitglieder beschränkt: Das Konto, das preisgegeben wird, ist jenes, das zur übermittelten Adresse passt, und die Adresse eines Administrators ist meist kein Geheimnis. Es ist kein Konto, kein Passwort und keine Mitwirkung des Opfers erforderlich.
Ich beschreibe dies auf dem 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 Einstellung und 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 hat, bedeutet dies, dass die Version, die Ihre Website meldet, in den betroffenen Bereich fällt. Ich habe nicht getestet, ob Ihre spezifische Website ausnutzbar ist, und ich kann nicht sehen, wie Ihre Einstellungen konfiguriert sind. Alles, was ich beobachtet habe, ist die Version.
Bin ich betroffen?
Zwei Fragen entscheiden dies, in dieser Reihenfolge.
Erstens: Ist „Automatically Log In” eingeschaltet?
Dies ist die entscheidende Frage, und nur Sie können sie beantworten. Das Überprüfen Ihrer eigenen Einstellungen ist völlig sicher und der eigentliche Zweck dieser Seite.
- Melden Sie sich in Ihrem WordPress-Dashboard an (normalerweise unter
yourdomain.com/wp-admin). - Öffnen Sie das Menü Profile Builder in der Seitenleiste und gehen Sie dann zu Settings.
- Suchen Sie nach dem Schalter mit der Bezeichnung Automatically Log In, beschrieben als „Aktivieren, um neue Benutzer nach erfolgreicher Registrierung automatisch anzumelden”.
- Wenn dieser Schalter ausgeschaltet ist, erreicht dieses Problem Ihre Website nicht, selbst bei einer betroffenen Version. Ein Update lohnt sich dennoch als gewöhnliche Wartung.
- Wenn er eingeschaltet ist, betrifft das Problem Sie, und Sie sollten zeitnah aktualisieren.
Ein weiterer Ort, an dem Sie nachsehen sollten, wenn Sie mehr als eine Registrierungsseite haben: Eine einzelne Seite mit einem Profile-Builder-Registrierungsformular kann eine eigene Kopie dieser Einstellung tragen, die die globale überschreibt. Wenn Sie mehrere Registrierungsseiten pflegen, lohnt es sich, jede einzeln zu überprüfen, statt sich allein auf den globalen Schalter zu verlassen.
Bitte versuchen Sie nicht, das Problem gegen Ihre eigene Website oder die einer anderen Person nachzustellen; Sie müssen dies nicht tun, um die obige Frage zu beantworten.
Zweitens: Welche Version führen Sie aus?
Sie müssen mir nicht glauben. Für dieses Plugin gibt es eine bestimmte Überprüfungsmethode, die Sie in die Irre führt, daher lohnt es sich, diesen Teil sorgfältig zu lesen.
Aus dem WordPress-Adminbereich (maßgeblich):
- Gehen Sie in Ihrem WordPress-Dashboard zu Plugins und dann zu Installierte Plugins.
- Finden Sie Profile Builder, den Eintrag, dessen Ordner
profile-builderist, und notieren Sie die unter seinem Namen angezeigte Version.
Aus dem öffentlichen Manifest (kein Login erforderlich): Öffnen Sie yourdomain.com/wp-content/plugins/profile-builder/readme.txt in einem Browser. Die Zeile Stable tag: weiter oben ist die Version, die Ihre Installation meldet, und dies ist eine der zwei öffentlichen Quellen, die ich lese.
Aus Ihrem Seitenquelltext (kein Login erforderlich): Sehen Sie sich den Quelltext einer Seite auf Ihrer Website an, die ein Profile-Builder-Formular anzeigt, und suchen Sie nach dem Frontend-Stylesheet des Plugins genau an diesem Pfad:
/wp-content/plugins/profile-builder/assets/css/style-front-end.css?ver=...
Die an diese eine Datei angehängte ?ver=-Nummer ist die eigene Version des Plugins. Für dieses Plugin entspricht sie exakt der Veröffentlichung, weshalb ich sie als zuverlässige zweite Ablesung betrachte.
Die Falle, die es hier zu vermeiden gilt, und in die man leicht tappt. Profile Builder liefert weitere Komponenten innerhalb seines eigenen Plugin-Ordners aus, und diese tragen ihre eigenen, unabhängigen Versionsnummern. Das gebündelte Add-on „user-profile-picture” unter add-ons-free/user-profile-picture/ verharrt seit mehreren Profile-Builder-Veröffentlichungen unverändert bei 2.6.0, und es gibt eine gebündelte Divi-Integration unter assets/misc/divi/ mit der Nummer 1.0.0. Beide Zahlen wirken neben 3.16.4 alarmierend alt, und keine von beiden sagt irgendetwas über dieses Problem aus. Wenn Sie eine Version aus Ihrem Seitenquelltext ablesen, stellen Sie sicher, dass der Dateipfad, aus dem Sie sie ablesen, assets/css/style-front-end.css ist und nichts anderes.
Wenden Sie dann diese Regel an, und beachten Sie, dass Versionen numerisch und nicht alphabetisch verglichen werden, sodass 3.10.0 neuer ist als 3.9.9, auch wenn es als Text kleiner aussieht. Dieses Plugin durchläuft tatsächlich jede Veröffentlichungslinie von .0 bis .9, bevor sie überläuft, daher ist diese Unterscheidung hier wichtig:
- 2.1.4 bis 3.16.3: potenziell betroffen, abhängig von der oben genannten Frage zur Einstellung. Aktualisieren Sie jetzt.
- 3.16.4 oder neuer: in Bezug auf dieses Problem bereits behoben. Die aktuelle Veröffentlichung zum Zeitpunkt der Erstellung ist 3.16.6, und die neueste verfügbare Version zu installieren ist der beste Schritt.
- Älter als 2.1.4: von diesem Problem nicht betroffen. Der oben beschriebene spezifische Fehler wurde in 2.1.4 eingeführt, sodass wirklich ältere Installationen außerhalb dieses Bereichs liegen. Allerdings ist eine so alte Veröffentlichung in allen anderen Bereichen um viele Jahre im Rückstand, und ein Update lohnt sich aus allgemeinen Gründen.
Wenn Sie aus keiner der drei oben genannten Überprüfungen eine lesbare Version erhalten können, ist das bei diesem Plugin üblich und kein Anzeichen für irgendetwas: Das Stylesheet wird nur auf Seiten geladen, die tatsächlich eines seiner Formulare darstellen, und Caching- oder Optimierungsplugins entfernen den ?ver=-Wert routinemäßig. Der Admin-Bildschirm aus Schritt eins hat immer die Antwort.
Wie Sie aktualisieren
Der sicherste Weg ist die Aktualisierung direkt ü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 Updates, oder zu Plugins und dann zu Installierte Plugins. Wenn ein Profile-Builder-Update aufgelistet ist, installieren Sie es von hier aus.
- Wenn Sie die Befehlszeile bevorzugen, erledigt WP-CLI dasselbe:
wp plugin update profile-builder(der Befehl verwendet den Ordnernamen). - Wenn kein Update angezeigt wird, können Sie die neueste Version direkt von der Plugin-Seite im WordPress.org-Verzeichnis herunterladen, Profile Builder, und das Update über Plugins dann Plugin installieren dann Plugin hochladen durchführen.
- Bestätigen Sie nach dem Update die neue Versionsnummer (3.16.4 oder höher) anhand der obigen Schritte, und prüfen Sie, ob Ihre Registrierungs-, Anmelde- und Profilbearbeitungsformulare weiterhin normal funktionieren.
Wenn Sie kostenpflichtige Profile-Builder-Add-ons von Cozmoslabs verwenden, aktualisieren Sie diese zusammen mit dem Kern-Plugin, da ihre Veröffentlichungen üblicherweise aufeinander abgestimmt sind.
Während Sie dort sind, lohnt es sich zu bestätigen, dass der 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 3.16.4 oder höher schließt das Problem, und für die meisten Websites ist dies die gesamte Aufgabe. Diese Seite ist eine vorbeugende Mitteilung, kein Vorfallbericht: Ich habe keine Einsicht darin, ob auf Ihrer Website etwas passiert ist, und ich habe auch nicht danach gesucht.
Ein weiterer Schritt ist es wert, in Betracht gezogen zu werden, und er ist an dieselbe Einstellungsfrage geknüpft. Wenn Ihre Website Automatically Log In aktiviert hatte, während sie eine betroffene Version ausführte, dann war es zumindest theoretisch möglich, dass jemandem eine Sitzung für ein bestehendes Konto ausgehändigt wurde. Das Update schließt die Lücke, macht aber einen bereits erfolgten Zugriff nicht rückgängig. In diesem Fall sind daher einige routinemäßige Vorsichtsmaßnahmen sinnvoll:
- Überprüfen Sie Ihre Administrator-Konten und alle anderen wichtigen Konten auf Einträge, die Sie nicht wiedererkennen, E-Mail-Adressen, die nicht mehr der richtigen Person gehören, oder Rollenänderungen, die Sie nicht selbst vorgenommen haben.
- Überprüfen Sie kürzliche Anmeldungen und alle derzeit aktiven Sitzungen auf alles, was Sie nicht nachvollziehen können.
- Setzen Sie die Passwörter Ihrer Administrator-Konten zurück. Das Erneuern der Sicherheitsschlüssel und Salts von WordPress in
wp-config.phpist ein sinnvoller Begleitschritt (neue Werte sind mit einem Klick über den offiziellen Schlüsselgenerator erreichbar, und das Austauschen dieser Werte meldet jeden Benutzer einmal ab).
Wenn Sie etwas finden, das Sie beunruhigt, ist es die richtige Reaktion, es wie jeden anderen vermuteten unbefugten Zugriff zu behandeln. Wenn Ihre Website nie die automatische Anmeldung aktiviert hatte, reicht das Update allein aus.
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 Dateien gelesen, die Ihre Website bereits jedem Besucher bereitstellt, insbesondere die öffentliche readme.txt des Plugins, Ihre Startseite und die in diese Seite geschriebenen Asset-Adressen. Ich habe nicht auf Ihren WordPress-Adminbereich, Ihre Datenbank oder einen privaten Teil der Website zugegriffen.
Insbesondere habe ich nie Ihr Registrierungsformular abgeschickt, nie ein Konto erstellt und nie den automatischen Anmeldeschritt berührt. Es wurde nichts eingereicht, getestet oder ausgenutzt. Das ist hier wichtiger als auf den meisten dieser Seiten, da die Registrierung genau die Handlung ist, um die 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 im betroffenen Bereich. Es ist keine Aussage, dass Ihre Website zum Zeitpunkt meiner Prüfung ausnutzbar war. Da das Problem von einer Einstellung abhängt, die ich nicht sehen kann, kann eine Website in diesem Bereich möglicherweise überhaupt nicht exponiert sein, und eine Website in diesem Bereich kann separat durch andere Mittel wie eine Web Application Firewall oder einen zurückportierten Fix geschützt sein.
Ich habe keinen Webmaster / ich komme nicht weiter
Wenn Sie nicht die Person sind, die die Website wartet, leiten Sie diese Seite bitte an diejenige Person weiter, die dies tut (Ihr Webentwickler, Agentur oder Hosting-Anbieter). Sie werden die oben genannten Schritte schnell erkennen.
Wenn Sie die Website selbst warten und feststecken, 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