Eine kritische Sicherheitslücke im WordPress-Plugin GiveWP, das auf über 100.000 Installationen für Spendenkampagnen und Fundraising eingesetzt wird, erlaubt es nicht authentisierten Angreifern, beliebige Befehle auf dem Hosting-Server auszuführen. Die als CVE-2026-82222 eingetufte Schwachstelle mit maximalem Schweregrad wurde am 28. Juli über die Pattchstack-Verwundbarkeitsintelligenzplattform gemeldet und bleibt in Versionen bis 4.16.7.1 ausnutzbar.
Die Schwachstelle im Detail: CVE-2026-82222
Um die Lücke auszunutzen, müssen drei unterchiedliche Probleme zusammenspielen. Erstens existiert in GiveWP eine unsichere Funktion zur Deserialisierung von PHP-Daten. Zweitens speichert die Spendenabwicklungsroutine vom Angreifer kontrollierte serialisierte Objekte in der Datenbank. Drittens enthält das Plugin eine sogenante Gadget-Chain in gebündelten Bibliotheken, die die Ausführung beliebiger Systembefehle erlaubt.
Der Angriff beginnt mit der Erstellung eines Benutzerkontos auf der Zielseite. GiveWP setzt eine unauthentisierte Registrierungsaktion (give_action=user_register) frei, die die WordPress-Einstellung users_can_register ignoriert. Selbst wenn die Registrierung deaktivert ist, kann ein Angreifer so einen Account anlegen und ein Authentisierungscookie erhalten. Anschließend speichert er ein bösartiges serialisiertes Objekt in seinem Profil und speist es durch ein manipuliertes Spendenformular in die Session-Datenbank ein.
Drei gekoppelte Probleme – so funktioniert der Exploit
Die Schwachstelle erfordert, dass die Webseite ein Legacy-Spendenformular ohne den Parameter formBuilderSettings verwendet. Dies kann bei aktualisierten Installationen, Seiten, die den Option-basierten Formular-Editor nutzen, oder beim Importieren/Wiederherstelen älterer Formulare der Fall sein. Sobald der Angreifer das serialisierte Objekt in die Tabelle wp_give_sessions eingespist hat, wird es bei jedem Aufruf einer beliebigen Frontend-Seite mit dem Authentisierungscookie automatisch deserialisiert. Die Gadget-Chain führt dann den vom Angreifer übergebenen Befehl aus. Der Server schreibt das Objekt zunächst in die Session, bevor er einen HTTP-500-Fehler zurückgibt – der Exploit erfolgt also noch vor der Fehlermeldung.
Auswirkungen und aktuelle Bedrohung
Betroffen sind GiveWP-Versionen 4.16.6 bis 4.16.7.1 Der Hersteller hat die Lücke am 27. August mit Version 4.16.7.2 geschlossen. Das Update unterbrint die Verarbeitung serialisierter Daten während der Spendenabwicklung und schränkt die Objekt-Erzeugung an mehreren Deserialisierungspunkten ein. Zudem entfernt es bereits gespeicherte serialisierte Objektpayloads aus der Datenbank. Allerdings beachtet die Registrierungsaktion nach wie vor nicht die WordPress-Registrierungseinstellungen – für eine Befehlausführung lässt sich dieser Umstand nun aber nicht mehr ausnutzen.
Im vergangenen Jahr nutzten Hacker eine ähnliche GiveWP-Lücke aus, um das populäre Netzwerk-Werbeblocker-Tool Pi-hole anzugreifen. Dabei wurden die Namen und E-Mail-Adressen von 30.000 Spendern offengelegt. Dies unterstreicht die Gefahr, die von solchen Plugin-Verwundbarkeiten ausgeht, insbesondere wenn sie in der Lieferkette für weit verbreitete Dienste eingesetzt werden.
Was bedeutet die Lücke für Administratoren?
Webseitenbetreiber, die GiveWP einsetzen, sollten umgehend auf Version 4.16.7.2 aktualisieren. Das Update ist zwingend erforderlich, um die Ausnutzung von CVE-2026-82222 zu verhindern. Da der Angriff bereits mit einem einachen Benutzerkonto und einem manipulierten Spendenformular beginnt, genügt es nicht, allein auf deaktiverte Registration zu vertrauen. Administratoren sollten zudem prüfen, ob alte Spendenformulare ohne formuilderSettings existiren und diese gegebnenfalls anpassen.
Schritt-für-Schritt-Empfehlung
- Plugin sofort auf Version 4.16.7.2 aktualisiren.
- Nach der Aktulisierung alle benutzerdefinirten Formulare auf Vorhandensein des Parameters formBuilderSettings prüfen.
- Überflüssige Benutzerkonten entfernen und die Registrationseinstellungen in WordPress überprüfen.
- Regelmäßige Sicherheitsaudits durchführen, insbesonder auf serialisierte Objekte in der Datenbank.
Die Beseitigung der Schwachstelle zeigt, wie wichtig es ist, dass Plugin-Ökosystem kontinurierlich zu überwachen und akutelle Patches zeitnah einzuspielen. GiveWP ist ein unverzichtbares Werkzeug für viele Non-Profit-Organisationen – gerade deshalb mussen Administratoren die Sicherheit ihrer Spendensammlungsinfrastruktur ernst nehmen.
Zukünftig sollten Plugin-Entwickler grundsätzlich vermeiden, serialisierte Daten aus Benutzereingaben zu verarbeiten, und stattdessen auf moderne Datenformate wie JSON setzen. Auch die y-Achse der unautorisierte Registrierungsaktion muss entweder deaktiviert oder streng an die WordPress-Standardeinstellungen gekoppelt werden. Bis dahin bleibt GiveWP ein potenzielles Einfallstor, das durch die beschriebene Eklärung der Verkettung dreier Schwachstellen nun besser verstanden wird – und hofentlich auch schneller geschlossen werden kann.