CVE-2026-82814

LOWCVSS 8.8 · HIGH

Immediate actions

  • Track advisory updates for patch or workaround availability

Recommended action window: Monitor and triage in normal cycle

NVD description

The Duplicator and Duplicator Pro plugins for WordPress are vulnerable to PHP Object Injection in all versions up to, and including, 1.5.17 and 4.6.10, respectively, via deserialization of untrusted database content in DUPX_UpdateEngine::unserializeTest() during migration. This allows unauthenticated attackers to store a serialized object in public site content before an administrator builds a package and later performs a migration or import that runs database search-and-replace. Duplicator Free bundles a Requests 1.7 POP chain that permits attacker-selected callbacks, resulting in direct operating-system command execution. Duplicator Pro bundles an IndexList destructor gadget that permits deletion of an attacker-selected existing file when its containing directory is writable by the installer PHP process; deletion of wp-config.php can expose the setup wizard and lead to site takeover and code execution if the attacker reaches it first and supplies a reachable database they control. The package must be created after the carrier is stored, and a later administrator migration action is required.

0.0/ 10 priority

Sources & remediation

Weakness type (CWE)
CWE-502

Priority

LOW

Exploitation

NONE

PoC

NONE

Patch

NONE

Momentum

NONE

Deep dive

Full discourse3 posts
  • DFIR Radar@DFIR_Radar

    CVE-2026-82814 (CVSS 8.8): Unauthenticated PHP Object Injection in Duplicator and Duplicator Pro allows OS command execution or site takeover via a second-order deserialization flaw triggered during migration. Affects 1M+ active installs. Technical breakdown: - CVE-2026-82814 affects Duplicator Free through 1.5.17 and Duplicator Pro through 4.6.10. The root cause is DUPX_UpdateEngine::unserializeTest() calling PHP's native unserialize() without restricting which classes may be instantiated, allowing attacker-supplied class names to trigger __wakeup() and __destruct() methods automatically. The payload can also be base64-encoded, since the migration engine decodes and deserializes base64 content from database columns. - This is a second-order vulnerability with a multi-step chain. An unauthenticated attacker posts a base64-encoded serialized PHP object as a WordPress comment via the public wp-comments-post.php endpoint, no account or nonce required. The comment is stored in the database even if pending. Nothing fires on submission or package creation. The payload activates only when an administrator later runs a standard migration or import using a package that contains that comment, triggering the Update Data search-and-replace operation. - The two editions reach different impact. In Duplicator Free, the installed Requests 1.7 library provides a POP chain combining DbUserMode's __wakeup() with Requests_Utility_FilteredIterator, letting the attacker specify any PHP callback and argument, confirmed to achieve OS command execution as the web-server user. In Duplicator Pro, the IndexList destructor's unlink() call enables arbitrary file deletion. Deleting wp-config.php exposes the WordPress setup wizard, and an attacker who reaches it first and supplies a controlled database can create a new administrator and execute PHP code via plugin installation. - Stored packages do not self-trigger, but they permanently retain the installer from the version that created them. Post-patch testing confirmed that Duplicator Pro 5.0.5's Import workflow ran an older Pro 4.6.10 package installer and hit the vulnerable deserialization path. The fix in version 5.0.0 replaces the unsafe call with SnapUtil::safeUnserialize(), passing ['allowed_classes' => false] to PHP's unserialize() so no attacker-named classes are instantiated. Comment moderation is not a mitigation: unapproved comments are still copied into packages. - Patch released September 8, 2026. Actively exploited in the wild: not stated in the report. The fix is confirmed in Duplicator Free 5.0.0 and Duplicator Pro 5.0.0 and later. Practitioner takeaway: Update both Duplicator Free and Duplicator Pro to 5.0.0 or newer immediately. Updating the plugin does not retroactively fix older stored packages. Before using any package created under an affected version for a migration or import, build a fresh package with the updated plugin. Remove any publicly accessible standalone installer files (installer.php) left on disk from previous migrations. To hunt for pre-planted payloads, inspect the wp_comments table in your WordPress database for comment_content containing base64-encoded strings that decode to values beginning with serialized PHP object notation (O: or C:), particularly in comments with comment_approved set to 0 (pending). Those entries should be treated as suspect and removed before any migration is run. #DFIR_Radar

    20001215
    2.0K followersView on X
  • ONE2NET@ONE2NET

    Wordfence Argus Discovers High Severity Unauthenticated PHP Object Injection in Duplicator Wordfence Argus helped uncover CVE-2026-82814, a high-severity unauthenticated PHP object injection in Duplicator and Duplicator Pro. Update to version 5.0.0 or n https://www.wordfence.com/blog/2026/10/wordfence-argus-discovers-high-severity-unauthenticated-php-object-injection-in-duplicator/?utm_source=twitter&utm_medium=ONE2NET&utm_campaign=publer

    01000104
    531 followersView on X
  • 中山陽平 - 中小企業専門Webコンサル/650社/22年@b_gone

    出典はこちら https://www.wordfence.com/blog/2026/10/wordfence-argus-discovers-high-severity-unauthenticated-php-object-injection-in-duplicator/ https://www.cve.org/CVERecord?id=CVE-2026-82814

    0000092
    2.1K followersView on X

Explore more