#Netzwerk & Sicherheit · 4 Min. Lesezeit · Tim Rinkel

HÖCHSTWERTUNG 10,0! Dieses Spenden-Plugin öffnet Fremden die Kommandozeile — sogar bei gesperrter Registrierung

HÖCHSTWERTUNG 10,0! Dieses Spenden-Plugin öffnet Fremden die Kommandozeile — sogar bei gesperrter Registrierung

Zehn von zehn ist keine Note, die man oft sieht. Sie bedeutet: keine Anmeldung nötig, aus dem Netz erreichbar, keine Nutzerinteraktion, vollständige Übernahme. Genau diese Wertung hat CVE-2026-82222 bekommen — eine Lücke im WordPress-Plugin GiveWP.

WORUM ES GEHT

GiveWP ist ein Spenden- und Fundraising-Plugin mit über 100.000 Installationen. Vereine, Stiftungen, Tierheime, Open-Source-Projekte — überall dort, wo eine WordPress-Seite Spenden entgegennimmt, ist die Chance groß, dass GiveWP dahintersteckt.

Betroffen sind alle Versionen bis einschließlich 4.16.7.1. Behoben ist das Problem in 4.16.7.2.

DIE KETTE AUS DREI FEHLERN

Was diese Lücke so heftig macht, ist ihre Bauweise: Es ist kein einzelner Fehler, sondern eine Verkettung.

1. Eine unsichere Hilfsfunktion. GiveWP entpackt an einer Stelle serialisierte PHP-Daten, ohne ausreichend zu prüfen, was da eigentlich entpackt wird. Das ist in PHP seit Jahren ein klassisches Einfallstor.

2. Ein Ablauf, der Angreiferdaten speichert. Der Spendenvorgang legt vom Angreifer kontrollierte serialisierte Objekte ab. Damit landet der Baustein für den Angriff im System.

3. Eine passende Gadget-Kette in mitgelieferten Bibliotheken. Und hier wird aus einem Datenproblem ein Systemproblem: In den Bibliotheken, die GiveWP mitbringt, existiert eine Objektkette, über die sich am Ende beliebige Systembefehle ausführen lassen.

DER TRICK MIT DER REGISTRIERUNG

Eigentlich bräuchte ein Angreifer für den Weg ein Konto auf der Seite. Und viele Betreiber denken sich an dieser Stelle: kein Problem, meine Registrierung ist ja aus.

Genau da liegt der Haken. GiveWP stellt eine unauthentifizierte Registrierungs-Aktion bereit (give_action=user_register), die die WordPress-Einstellung users_can_register gar nicht abfragt. Übersetzt: Auch wenn du die Nutzerregistrierung in WordPress abgeschaltet hast, kann sich jemand über diesen Weg trotzdem ein Konto anlegen — und damit die Voraussetzung für den Angriff selbst herstellen.

WOHER DIE LÜCKE KOMMT

Gemeldet wurde sie am 28. Juli vom Sicherheitsforscher Udin Chan über die Plattform Patchstack. GiveWP hat in Version 4.16.7.2 nachgezogen: Serialisierte Daten werden im Spendenvorgang blockiert, und die Objekterzeugung ist eingeschränkt.

DEINE TO-DO-LISTE

1. Version prüfen. Im WordPress-Backend unter Plugins. Alles unter 4.16.7.2 muss heute noch aktualisiert werden — nicht am Montag.

2. Nach fremden Konten suchen. Sieh in der Nutzerliste nach: Gibt es Konten, die du nicht angelegt hast? Besonders solche mit erhöhten Rechten oder mit Registrierungsdatum aus den vergangenen Wochen.

3. Dateien kontrollieren. Suche im Webverzeichnis nach PHP-Dateien mit ungewöhnlich frischem Änderungsdatum, vor allem in Upload-Ordnern. Dort haben Webshells gar nichts zu suchen.

4. Geplante Aufgaben ansehen. Ein Blick in die WP-Cron-Einträge lohnt sich — Angreifer verankern sich dort gern, weil es unauffällig ist.

5. Passwörter und Salts erneuern. Wenn du auch nur den Verdacht hast, dass jemand drin war: Anmeldedaten wechseln und die Sicherheitsschlüssel in der wp-config.php neu setzen. Das wirft alle Sitzungen raus.

FAZIT

Eine Höchstwertung in einem Plugin, das ausgerechnet mit Spendengeldern und Spenderdaten arbeitet — unangenehmer geht es kaum. Der Fix existiert, das Einspielen dauert eine Minute. Was danach kommt, ist der wichtigere Teil: nachsehen, ob jemand die Wochen davor genutzt hat.

Häufige Fragen

Welche GiveWP-Version ist sicher?
Version 4.16.7.2 und neuer. Alles bis einschließlich 4.16.7.1 gilt als verwundbar. GiveWP blockiert im Fix serialisierte Daten im Spendenvorgang und schränkt die Objekterzeugung ein.
Ich habe die Registrierung deaktiviert — bin ich sicher?
Leider nein. GiveWP stellt eine eigene unauthentifizierte Registrierungs-Aktion bereit, die die WordPress-Einstellung users_can_register nicht berücksichtigt. Ein Konto lässt sich damit auch bei geschlossener Registrierung anlegen.
Woran erkenne ich, ob meine Seite betroffen war?
Prüfe die Nutzerliste auf unbekannte Konten, suche im Webverzeichnis nach PHP-Dateien mit frischem Änderungsdatum (besonders in Upload-Ordnern) und sieh dir die geplanten WP-Cron-Aufgaben an. Bei Verdacht: Passwörter wechseln und die Sicherheitsschlüssel in der wp-config.php neu setzen.
Was bedeutet CVSS 10.0?
Es ist der Höchstwert der Skala. Er wird vergeben, wenn eine Lücke ohne Anmeldung, aus dem Netz und ohne Zutun eines Nutzers ausgenutzt werden kann und dabei Vertraulichkeit, Integrität und Verfügbarkeit vollständig kompromittiert.

Quellen

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert