← Alle Beiträge

Duplicator-Schwachstelle gefährdet WordPress-Migrationen

Duplicator-Schwachstelle gefährdet WordPress-Migrationen

Die als CVE-2026-82814 verfolgte Duplicator-Schwachstelle kann einen gewöhnlichen WordPress-Kommentar in Schadcode verwandeln, der bei einer späteren Website-Migration aktiviert wird. Wordfence Threat Intelligence entdeckte die Schwachstelle am 30. August 2026 während einer Sicherheitsprüfung von WordPress 7.1, die durch das Forschungssystem Argus unterstützt wurde. Duplicator verfügt über mehr als eine Million aktive Installationen. Das Problem hat im Common Vulnerability Scoring System eine Bewertung von 8,8 von 10 und ist als High eingestuft.

Betroffen sind Duplicator Free bis einschließlich 1.5.17 und Duplicator Pro bis einschließlich 4.6.10. Bei dem Fehler handelt es sich um eine nicht authentifizierte PHP Object Injection. Das bedeutet, dass jemand ohne Benutzerkonto gespeicherte Daten bereitstellen kann, die PHP später in ein Softwareobjekt mit potenziell gefährlichem Verhalten umwandelt. Zugleich handelt es sich um eine second-order vulnerability: Die ursprüngliche Anfrage des Angreifers verursacht nicht unmittelbar Schaden. Die Ausführung hängt von einer späteren, legitimen Aktion eines Administrators ab.

Der demonstrierte Angriffsweg beginnt am öffentlichen WordPress-endpoint wp-comments-post.php. Ein Angreifer kann ohne Benutzerkonto, Cookie oder nonce einen Kommentar übermitteln. Ein nonce ist eine einmalige Prüfung, mit der bestätigt werden soll, dass eine Anfrage legitim ist. Der Kommentar enthält ein schädliches PHP-Objekt, das mit base64 codiert ist, einer Methode zur Darstellung von Daten als gewöhnlicher Text. Ob der Kommentar freigegeben wird, spielt keine Rolle, da WordPress auch ausstehende Kommentare in seiner Datenbank speichert. Erstellt ein Administrator anschließend ein Duplicator-Paket, wird der gespeicherte Kommentar in dieses Paket kopiert.

Die payload bleibt inaktiv, während das Paket erstellt oder gespeichert wird. Sie wird nur ausgeführt, wenn ein Administrator dieses Paket für eine Standardmigration oder einen Import verwendet, bei dem Duplicators Update Data-Such-und-Ersetzungsprozess ausgeführt wird. Dieser Prozess ändert Datenbankwerte wie die alte Website-Adresse und den filesystem path, damit sie dem Zielsystem entsprechen. serialized data, bei denen Werte zusammen mit Angaben wie Zeichenfolgenlängen und Klassennamen gespeichert werden, müssen bei der Änderung dieser Werte gesondert behandelt werden.

Betroffene Installer übergeben möglicherweise serialisierte Werte über DUPX_UpdateEngine::unserializeTest() an die native PHP-Funktion unserialize(), ohne die Erstellung von Klassen zu verhindern. PHP kann daraufhin spezielle Methoden wie __wakeup() und __destruct() aufrufen. Eine nutzbare Abfolge solcher Methoden wird als gadget chain bezeichnet und kann dafür sorgen, dass vom Angreifer kontrollierte Daten Aktionen ausführen, die vom Plugin-Entwickler nie vorgesehen waren. Die Migrationsengine decodiert außerdem vollständig mit base64 codierte Datenbankwerte, bevor sie diese prüft. Dadurch kann ein codierter Kommentar die anfällige Funktion erreichen.

Die Folgen unterscheiden sich je nach Edition. Duplicator Free 1.5.17 enthielt Requests 1.7 im generierten Installer. Wordfence kombinierte Duplicators Klasse DbUserMode mit Requests_Utility_FilteredIterator, dessen Methode current() einen aus den serialized data ausgewählten callback aufruft. Da der Angreifer sowohl den callback als auch dessen Argument kontrolliert, kann eine PHP-Funktion wie system() einen ausgewählten Betriebssystembefehl ausführen. Wordfence bestätigte die direkte Befehlsausführung mit den Berechtigungen des Benutzerkontos, unter dem der Webserver läuft, und nutzte die chain außerdem zum Löschen einer Datei.

Duplicator Pro 4.6.10 verwendete eine neuere Requests-library, weshalb diese callback chain nicht verfügbar war. Der Installer enthielt jedoch Duplicator\Libs\Index\IndexList. Der destructor dieser Klasse löscht die Datei, die durch ihre path property angegeben wird. Wordfence bestätigte die Löschung zunächst mit Testdateien und löschte anschließend auf einer entbehrlichen Installation wp-config.php, die Datei mit der grundlegenden Datenbankkonfiguration einer WordPress-Website. Die Datei muss vorhanden sein, und der PHP-Prozess, der den Installer ausführt, muss die Berechtigung haben, ihr Verzeichnis zu verändern.

Ohne wp-config.php zeigt WordPress seinen normalen Einrichtungsprozess an. Wordfence demonstrierte, dass ein Angreifer, der diesen vor dem Eigentümer erreicht, eine erreichbare Datenbank unter seiner Kontrolle angeben, einen Administrator erstellen und ein Proof-of-Concept-Plugin zur Ausführung von PHP-Code installieren kann. Über diesen Weg werden weder die Datenbank noch die Zugangsdaten der ursprünglichen Website offengelegt. Er kann dem Angreifer jedoch die Kontrolle über WordPress auf der betroffenen Domain und im betroffenen filesystem verschaffen.

Mehrere Bedingungen schränken den Angriff ein. Der schädliche Datenbankwert muss vorhanden sein, bevor das Paket erstellt wird, und ein Administrator muss später eine Standardmigration oder einen Import starten, bei dem die Datenbankersetzung ausgeführt wird. Das Erstellen oder bloße Aufbewahren eines Backups aktiviert ihn nicht. Wordfence demonstrierte die chain nicht über Duplicators Restore- oder Recovery-Modi. Das Deaktivieren öffentlicher Kommentare beseitigt den demonstrierten Übertragungsweg. Wordfence warnte jedoch, dass andere vom Angreifer kontrollierte Datenbankinhalte möglicherweise weiterhin dieselbe anfällige Engine erreichen könnten.

Duplicator 5.0.0 behebt den anfälligen Migrationspfad. Die Methode SnapUtil::safeUnserialize() ruft unserialize() auf und setzt allowed_classes auf false. Dadurch wird verhindert, dass die Daten an dieser Stelle Instanzen der genannten Klassen erzeugen. Der zurückgegebene Wert wird lediglich verwendet, um die Gültigkeit der Eingabe festzustellen, und anschließend verworfen. Duplicator Free 5.0.0 verwendet außerdem nicht mehr die ältere Requests-Komponente, die an der direkten Befehlsausführung beteiligt war. Wordfence bestätigte die Fehlerbehebung in Free, prüfte Duplicator Pro 5.0.5 und stellte fest, dass dessen relevante Sicherheitsdateien mit der reparierten Free-Implementierung identisch waren. Der Entwickler bestätigte zudem, dass Pro 5.0.0 dieselbe Fehlerbehebung erhalten hatte.

Durch das Update werden bereits vorhandene Pakete nicht neu erstellt. Ein mit einer betroffenen Version erzeugtes Archiv behält den Installer dieser Version. In Tests führte der normale Import-Workflow von Duplicator Pro 5.0.5 den älteren Installer aus einem Pro-4.6.10-Paket aus und erreichte den anfälligen Pfad. Der automatische Restore-Workflow erzwang dagegen den Restore-Modus, übersprang den betroffenen Ersetzungsprozess und löste die Schwachstelle nicht aus. Duplicator Free 5.0.0 lehnte die automatische Wiederherstellung eines mit Free 1.5.17 erstellten Pakets ab und wies den Administrator stattdessen an, dessen Installer herunterzuladen und manuell auszuführen. Die Ausführung dieses enthaltenen Installers als Standardmigration kann weiterhin gefährlich sein, wenn das Paket einen schädlichen Wert enthält.

Wordfence meldete das Problem am 31. August, und der Entwickler bestätigte den Eingang am 2. September. Version 5.0.0 wurde am 8. September veröffentlicht; die Bestätigung des Patches erfolgte am 25. September. Wordfence schloss seine Prüfung am 9. Oktober ab. Der bestehende Generic Object Injection-firewall-Schutz von Wordfence bot kostenlosen und zahlenden Nutzern bereits einen gewissen Schutz. Eine gezieltere Regel wurde Premium-, Care- und Response-Kunden am 15. Oktober bereitgestellt. Für kostenlose Nutzer war die Verfügbarkeit für den 14. November 2026 vorgesehen. Der Schutz durch eine firewall ist eine zusätzliche Sicherheitsschicht und kein Ersatz für das Update.

Website-Betreiber sollten beide Editionen auf Version 5.0.0 oder neuer aktualisieren, nach Möglichkeit vor einer Migration oder einem Import ein neues Paket erstellen und eigenständige Installer-Dateien entfernen, die nach Ende ihrer Verwendung weiterhin öffentlich erreichbar sind. Für Organisationen, die ihre WordPress-Infrastruktur nicht allein verwalten möchten, bietet AEU Hosting durchgehend abgesichertes Managed-WordPress-Hosting an.

Auch verfügbar in: EnglishItalianoShqip