Events Manager Sicherheitshinweis
Wenn Sie eine E-Mail von mir erhalten haben, die Sie auf diese Seite verweist, dann
deshalb, weil Ihre Website offenbar eine Version von Events Manager (dem
WordPress-Plugin events-manager, von Marcus Sykes / wp-events-plugin.com) einsetzt, 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 überhaupt auf Ihre Website
zutrifft, und wie Sie aktualisieren.
Zuallererst 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 ist nur ausnutzbar, wenn Events Manager so konfiguriert ist, dass es Buchungen von Besuchern annimmt, die nicht angemeldet sind (der “No-User-Account Booking Mode” des Plugins, ein Buchungsmodus ohne Benutzerkonto). Wenn Ihre Website für eine Buchung ein Konto voraussetzt oder überhaupt keine Buchungen entgegennimmt, ist sie selbst auf einer betroffenen Version sehr wahrscheinlich nicht exponiert. Ich kann Ihre Plugin-Version aus öffentlichen Dateien auslesen, aber ich kann Ihre Buchungskonfiguration nicht sehen, daher ist dieser Hinweis eine vorsorgliche Information, kein bestätigter Befund zu Ihrer Website.
Das Problem ist CVE-2026-12987, eine nicht authentifizierte PHP-Objekt-Injektion, die zu einer SQL-Injektion im Buchungssystem des Plugins führt. Die Stelle, die den CVE zugewiesen hat, hat keine Bewertung der Schwere veröffentlicht; Patchstack bewertet denselben Befund mit 8,8 von 10 (hoch). Es betrifft die Versionen 4.0.0 bis 7.3.6 und ist in 7.3.7 behoben. Wenn Sie eine betroffene Version einsetzen, aktualisieren Sie Events Manager auf 7.3.7 oder neuer (empfohlen wird die aktuelle 7.4.x-Version). Es gibt keinen Hinweis darauf, dass dieses Problem irgendwo ausgenutzt wird.
Ein Wort zur Dringlichkeit, denn dies ist der bedingteste Hinweis, den ich je versendet habe: Wie sehr es Sie betrifft, hängt fast ausschließlich von dieser Buchungseinstellung ab. Wenn Buchungen auf Ihrer Website eine Anmeldung erfordern, ist das Update routinemäßige Plugin-Wartung. Wenn Ihre Website öffentliche Buchungen von Besuchern ohne Konto entgegennimmt, behandeln Sie das Update bitte als Priorität: In dieser Konfiguration könnte die Schwachstelle einem Angreifer erlauben, ohne Anmeldung Daten aus der Datenbank Ihrer Website zu lesen (etwa Passwort-Hashes und geheime Schlüssel). Selbst dann ist diese Seite eine vorsorgliche Information, kein Vorfallsbericht, und es ist keine Notfallreaktion angezeigt.
Dies ist eine Schwachstelle eines Plugins, nicht des WordPress-Kerns. Ein vollständig aktuelles WordPress schützt Sie nicht, wenn das Plugin Events Manager 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, etwas hochzuladen oder etwas auszunutzen.
Ich habe lediglich öffentlich sichtbare Dateien betrachtet, die Ihre Website jedem
Besucher bereitstellt (so wie auch Ihre Startseite öffentlich ist), und die
Versionsnummer notiert, die das Plugin Events Manager in seiner öffentlichen
readme.txt-Datei veröffentlicht. Das Buchungssystem habe ich ausdrücklich nicht
berührt, und 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
Events Manager ist eines der langlebigsten Plugins für Veranstaltungen und Buchungen für WordPress (seit 2008 im offiziellen Verzeichnis, mit rund 6,3 Millionen Downloads über seine gesamte Laufzeit). Es ermöglicht einer Website, Veranstaltungen zu veröffentlichen und Buchungen dafür entgegenzunehmen, einschließlich, wenn der Betreiber es so wählt, Buchungen von Besuchern, die kein Benutzerkonto auf der Website haben.
In betroffenen Versionen werden die benutzerdefinierten Registrierungsfelder, die ein Besucher beim Absenden einer Buchung ausfüllt, als Buchungsdaten gespeichert, und wenn das Plugin diese Buchung später lädt, entpackt (“deserialisiert”) es die gespeicherten Daten, ohne einzuschränken, was sie enthalten dürfen. Speziell präparierte Eingaben können daher in Programmobjekte nach Wahl des Angreifers verwandelt werden (PHP-Objekt-Injektion), und eine Kette solcher Objekte erreicht eine Datenbankabfrage, die nicht ordnungsgemäß parametrisiert ist (SQL-Injektion). Der praktische Effekt auf einer Website in der verwundbaren Konfiguration: Ein Angreifer ohne Konto und ohne Anmeldung könnte beliebige Daten aus der Datenbank der Website lesen, etwa Passwort-Hashes und die geheimen Schlüssel, die WordPress verwendet.
Zwei Dinge helfen bei der Einordnung. Erstens ist der Einstiegspunkt das öffentliche Buchungsformular, sodass der Angriff nur dort funktioniert, wo ein nicht angemeldeter Besucher eine Buchung absenden kann. Das ist genau die Voraussetzung des “No-User-Account Booking Mode”: Wenn eine Buchung auf Ihrer Website ein Konto erfordert, ist der verwundbare Pfad für anonyme Besucher nicht erreichbar, und Ihre Website ist selbst auf einer betroffenen Version sehr wahrscheinlich nicht exponiert. Zweitens handelt es sich um ein Problem des Datenlesens, nicht um eine Übernahme des Servers oder eines Administratorkontos: Es erlaubt einem Angreifer für sich genommen nicht, Code auf Ihrem Server auszuführen oder sich in Ihrem Administrationsbereich anzumelden. Und um es deutlich zu wiederholen: Es gibt keinen Hinweis auf aktive Ausnutzung: Sie ist nicht im Katalog der Known Exploited Vulnerabilities der CISA enthalten, ihr Wert für die Ausnutzungswahrscheinlichkeit (EPSS) liegt nahe null, und mir sind keine Berichte über eine Ausnutzung bekannt.
Wenn meine E-Mail dieses Problem genannt hat, bedeutet das, dass die Version, die Ihre Website meldet, in den betroffenen Bereich fällt. Ich habe nicht getestet, ob Ihre konkrete Website ausnutzbar ist, und ich kann nicht sehen, wie Ihr Buchungssystem konfiguriert ist; ich habe lediglich beobachtet, dass die Website eine betroffene Version meldet.
Bin ich betroffen?
Zwei Fragen entscheiden darüber, in dieser Reihenfolge.
Erstens: Nehmen Sie Buchungen von Besuchern entgegen, die nicht angemeldet sind? Das ist die entscheidende Frage, und nur Sie können sie beantworten.
- Wenn Buchungen auf Ihrer Website ein Konto oder eine Anmeldung erfordern oder Ihre Website überhaupt keine Buchungen entgegennimmt, sind Sie sehr wahrscheinlich nicht exponiert, selbst auf einer betroffenen Version. Ein Update wird dennoch empfohlen, als gewöhnliche Wartung.
- Wenn Ihre Website Buchungen von Besuchern ohne Konto entgegennimmt (Events Manager nennt dies “No-User-Account Booking Mode”), betrifft Sie das Problem, und Sie sollten zeitnah aktualisieren.
- So prüfen Sie es: Sehen Sie in der WordPress-Administration in den Buchungseinstellungen von Events Manager nach der Option, die Buchungen ohne Benutzerkonto erlaubt. Oder testen Sie es einfach von außen: Öffnen Sie eine Ihrer Veranstaltungsseiten in einem privaten Browserfenster und sehen Sie, ob Sie eine Buchung ausfüllen und absenden können, ohne zur Anmeldung aufgefordert zu werden.
Zweitens: Welche Version setzen Sie ein? Sie müssen mir dabei nicht glauben.
Aus dem öffentlichen Manifest (keine Anmeldung nötig): öffnen Sie
yourdomain.com/wp-content/plugins/events-manager/readme.txt in einem Browser. Beachten
Sie, dass dieses Plugin seine Readme als readme.txt (in Kleinbuchstaben) ausliefert.
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 dem WordPress-Administrationsbereich (falls Sie Zugang haben):
- Melden Sie sich in Ihrem WordPress-Dashboard an (üblicherweise unter
yourdomain.com/wp-admin). - Gehen Sie zu Plugins dann Installierte Plugins.
- Suchen Sie nach Events Manager und notieren Sie die unter dem Namen angezeigte Version.
Wenden Sie dann diese Regel an, und beachten Sie, dass Versionen numerisch verglichen werden, nicht alphabetisch:
- 4.0.0 bis 7.3.6: möglicherweise betroffen (abhängig von der oben genannten Frage zum Buchungsmodus), jetzt aktualisieren.
- 7.3.7 oder neuer: bereits behoben. Dazu gehört 7.3.7.1, ein Folgefix für eine nicht sicherheitsrelevante Anzeige-Regression, keine zweite Sicherheitsveröffentlichung: Sowohl 7.3.7 als auch 7.3.7.1 enthalten den Sicherheitsfix. Dazu gehören auch alle aktuellen 7.4.x-Versionen.
- Älter als 4.0: von diesem Problem nicht betroffen. Die verwundbare Verarbeitung der Buchungsdaten kam erstmals mit der 4.0-Neufassung des Plugins, sodass frühere Versionen sie nicht enthalten (eine so alte Version hat reichlich andere Gründe für ein Update, aber dieser Hinweis gehört nicht dazu).
- Lassen Sie sich nicht von der Textsortierung täuschen: Events Manager verwendete vor 6.0
Versionszeichenfolgen wie
5.99912(der Hersteller blieb bis 6.0 bei einem5.999.x-Nummerierungsschema), und eine solche Version ist eine alte Veröffentlichung unter 6.0, innerhalb des betroffenen Bereichs, nichts, was neuer als 7 wäre. Vergleichen Sie jede Zahl der Reihe nach, statt die Version als Text zu lesen.
So aktualisieren Sie
Der sicherste Weg ist die Aktualisierung über WordPress selbst, und zwar nach einer 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-Backup-Plugin.
- Gehen Sie in der WordPress-Administration zu Dashboard dann Aktualisierungen, oder Plugins dann Installierte Plugins. Wenn ein Update für Events Manager aufgeführt ist, installieren Sie es von hier aus.
- Wenn Sie die Kommandozeile bevorzugen, erledigt WP-CLI dasselbe:
wp plugin update events-manager. - Wenn dort kein Update erscheint, können Sie die aktuelle Version direkt von der Seite des Plugins im WordPress.org-Verzeichnis beziehen, Events Manager, und über Plugins dann Neues Plugin hinzufügen dann Plugin hochladen aktualisieren.
- Bestätigen Sie nach dem Update die neue Versionsnummer (7.3.7 oder neuer; empfohlen wird die aktuelle 7.4.x-Version) anhand der obigen Schritte und prüfen Sie, ob Ihre Veranstaltungs- und Buchungsseiten normal funktionieren.
Wenn Sie schon dabei sind, lohnt es sich zu bestätigen, dass WordPress-Kern und Ihre übrigen Plugins aktuell sind, denn dasselbe Prinzip gilt für alle.
Nach dem Update
Ein Update auf 7.3.7 oder neuer schließt das Problem, und für die meisten Websites ist das bereits die ganze Aufgabe. Es gibt keinen Hinweis darauf, dass diese Schwachstelle irgendwo ausgenutzt wurde, daher ist keine Notfallreaktion angezeigt: Sie müssen Ihre Website nicht als kompromittiert behandeln und nicht offline nehmen.
Eine Nachfolgemaßnahme ist erwägenswert, und sie hängt von derselben Buchungsfrage ab. Wenn Ihre Website öffentliche Buchungen von Besuchern ohne Konto entgegennahm, während sie auf einer betroffenen Version lief, dann waren die Daten, die die Schwachstelle erreichen könnte (Datenbankinhalte, einschließlich Passwort-Hashes und geheimer Schlüssel), zumindest theoretisch lesbar, auch wenn es keinen Beleg dafür gibt, dass das jemand getan hat. In diesem Fall sind zwei routinemäßige Vorsichtsmaßnahmen sinnvoll:
- Sehen Sie die jüngsten Buchungen und Benutzeraktivitäten auf alles durch, was ungewöhnlich erscheint, auf die gewöhnliche Weise, wie Sie die Aktivität Ihrer Website prüfen würden.
- Wechseln Sie die Geheimnisse, die in Ihrer Datenbank und Konfiguration liegen: Erzeugen
Sie die geheimen Schlüssel und Salts von WordPress in
wp-config.phpneu (neue Werte sind einen Klick entfernt beim offiziellen Generator für geheime Schlüssel; ihr Austausch meldet alle Benutzer einmalig ab) und ändern Sie Ihr Datenbank-Passwort über Ihr Hosting-Panel. Da Passwort-Hashes zu den theoretisch lesbaren Daten gehörten, ist es ein sinnvoller zusätzlicher Schritt, die Passwörter von Administratorkonten erneuern zu lassen.
Betrachten Sie das als gewöhnliche Sicherheits-Routinepflege, nicht als Reaktion auf einen Vorfall. Wenn Buchungen auf Ihrer Website schon immer eine Anmeldung erfordert haben (oder Sie keine Buchungen entgegennehmen), genügt allein das Update.
Was ich getan und nicht getan habe
Um die Prüfung hinter meiner E-Mail vollständig transparent zu machen: Ich habe nur
öffentliche Dateien gelesen, die Ihre Website ohnehin jedem Besucher bereitstellt, konkret
die öffentliche readme.txt-Datei des Plugins und Ihre Startseite. Ich habe nicht auf
Ihren WordPress-Administrationsbereich, Ihre Datenbank oder irgendeinen privaten Teil der
Website zugegriffen. Insbesondere habe ich den verwundbaren Buchungspfad nicht
berührt, und ich habe nichts getestet oder ausgenutzt.
Dies ist eine versionsbasierte Beobachtung: Ihre Website meldet eine Version im betroffenen Bereich. Da dieses Problem konfigurationsabhängig ist, ist eine Website in diesem Bereich möglicherweise überhaupt nicht exponiert (wenn Buchungen eine Anmeldung erfordern oder keine Buchungen entgegengenommen werden), und sie kann auch bereits durch andere Mittel geschützt sein, etwa eine Web Application Firewall. 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 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
- E-Mail: security@mail.mcpsec.dev
- X: @Evan__Harris
- GitHub: eharris128
- LinkedIn: Evan Harris
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