CVE-2026-115806
9.8 CRITICALPublished 2026-10-24 · Updated 2026-10-26
AI risk analysis
- Summary
- The Prime Mover plugin for WordPress is vulnerable to PHP Object Injection via untrusted input in its migration search-and-replace routine, allowing an unauthenticated attacker to inject a malicious serialized object through comment submission, which executes during admin-initiated export or restore operations.
- Exploitability
- Exploitation is straightforward for an unauthenticated attacker since it only requires submitting a specially crafted comment via the standard WordPress comment endpoint without authentication or user interaction.
- Blast radius
- Successful exploitation grants full remote code execution as the web server user, compromising confidentiality, integrity, and availability of the entire WordPress site and potentially the underlying server.
- Detection
- Defenders should monitor wp-comments-post.php POST requests for unusually long or base64-encoded comment_content values that decode to serialized PHP objects (e.g., strings starting with 'O:'); such objects may indicate attempted exploitation.
- Prioritized remediation
- Upgrade to Prime Mover version 2.2.2 or later, which fixes the vulnerability by adding an allowed_classes restriction to the unserialize() call in recursiveUnserializeReplace().
Analysis generated locally by garnet-coder (no data left the box). AI-assisted — verify against primary sources before acting.
NVD description
The Prime Mover – Backup and Migration plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 2.2.1 via deserialization of untrusted input in the migration search-and-replace routine (recursiveUnserializeReplace()). An unauthenticated attacker can store a crafted, base64-encoded serialized object in wp_comments.comment_content through the standard comment-submission endpoint (wp-comments-post.php). When an administrator subsequently performs a routine Prime Mover export or restore, the plugin base64-decodes that stored value and passes it to unserialize() with no allowed_classes restriction. A Property-Oriented Programming (POP) chain is present in the plugin's own bundled Freemius library (FS_Clone_Manager::__set → FS_Option_Manager::set_option → store() → update_option()), so no additional plugin or theme is required — the plugin ships the gadget itself.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-502
All references
- https://plugins.trac.wordpress.org/browser/prime-mover/tags/2.2.1/utilities/PrimeMoverSearchReplace.php#L1281
- https://plugins.trac.wordpress.org/browser/prime-mover/tags/2.2.1/utilities/PrimeMoverSearchReplace.php#L391
- https://plugins.trac.wordpress.org/browser/prime-mover/tags/2.2.1/utilities/PrimeMoverSearchReplace.php#L422
- https://plugins.trac.wordpress.org/browser/prime-mover/tags/2.2.1/utilities/PrimeMoverSearchReplace.php#L899
- https://plugins.trac.wordpress.org/browser/prime-mover/tags/2.2.1/vendor/freemius/includes/managers/class-fs-clone-manager.php#L1636
- https://plugins.trac.wordpress.org/browser/prime-mover/tags/2.2.1/vendor/freemius/includes/managers/class-fs-option-manager.php#L414
- https://www.wordfence.com/threat-intel/vulnerabilities/id/ab6ebd66-c7a4-402e-b51e-3f1f3183bd97?source=cve
Source data: NVD (nvd.nist.gov), public domain. Exploit-DB.ai adds local AI analysis for defensive use only.
Related CVEs
- HIGHCVE-2026-104932
- CRITICALCVE-2026-19658
- HIGHCVE-2026-97291
- CRITICALCVE-2026-111834
- CRITICALCVE-2017-20285PoC
- CRITICALCVE-2025-59953PoC
- CRITICALCVE-2025-66455PoC
- HIGHCVE-2026-100308PoC
Related by shared AI tags and CWE weakness class. Browse the full archive.