CVE-2024-10962·PHP vulnerability
The Migration, Backup, Staging – WPvivid plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 0.9.107 via deserialization of untrusted input in the 'replace_row_data' and 'replace_serialize_data' functions. This makes it possible for unauthenticated attackers to inject a PHP Object. No known POP chain is present in the vulnerable software. If a POP chain is present via an additional plugin or theme installed on the target system, it could allow the attacker to delete arbitrary files, retrieve sensitive data, or execute code. An administrator must create a staging site to trigger the exploit.
- Severity
- high
- Software
- PHP
- Fixed in
- 0.9.108
- Published
- 2024-11-14
Affected versions
Until: 0.9.108
Fixed in: 0.9.108
How to fix this CVE
Update the WPvivid Backup & Restore plugin to version 0.9.108 or later to patch the PHP object injection vulnerability in the database serialization functions. This vulnerability allows unauthenticated attackers to inject malicious PHP objects during staging site creation, which could lead to arbitrary file deletion, data theft, or code execution if complementary gadget chains exist in other plugins. Immediately apply this update to all WordPress installations using WPvivid.
sudo dnf update phpDefensia detects this vulnerability
How to check if you are affected
- Check PHP version: php -v
- Verify WPvivid plugin version in WordPress: wp plugin list | grep wpvivid (if WP-CLI available), or manually inspect /wp-content/plugins/wpvivid-backuprestore/wpvivid.php for the Version header
- Search WordPress debug logs for deserialization errors: grep -r 'unserialize\|Object injection' /path/to/wordpress/wp-content/debug.log
- Confirm the patch: grep 'Version' /wp-content/plugins/wpvivid-backuprestore/wpvivid.php and verify version is >= 0.9.108
FAQ
What is CVE-2024-10962?
CVE-2024-10962 is a PHP object injection vulnerability in the WPvivid Backup & Restore WordPress plugin that exists in the database serialization functions used during staging site operations. An unauthenticated attacker can inject a malicious serialized PHP object that gets deserialized without validation, potentially enabling remote code execution if suitable gadget chains are available in the WordPress environment.
Is CVE-2024-10962 being actively exploited?
No, this vulnerability is not currently listed on the CISA Known Exploited Vulnerabilities (KEV) catalog and no public proof-of-concept exploits are publicly available. However, the high CVSS score (8.8) and ease of exploitation warrant immediate patching.
What versions of WPvivid are affected by CVE-2024-10962?
All versions of the WPvivid Backup & Restore plugin up to and including version 0.9.107 are vulnerable. Version 0.9.108 and later contain the fix.
How do I check if my server is vulnerable to CVE-2024-10962?
Use wp plugin list --field=name --status=active | grep wpvivid to identify if WPvivid is installed, then check the version in Settings or by inspecting the plugin's header comment. If the version is 0.9.107 or earlier, your installation is vulnerable.
Does Defensia detect CVE-2024-10962?
Yes — Defensia's CVE advisory scanner compares installed WordPress plugin versions against the NVD database. If WPvivid is installed on a monitored server, CVE-2024-10962 will appear in your dashboard with remediation steps.
Related PHP CVEs
References
- https://plugins.trac.wordpress.org/browser/wpvivid-backuprestore/trunk/includes/staging/class-wpvivid-staging-copy-db-ex.php#L1104
- https://plugins.trac.wordpress.org/browser/wpvivid-backuprestore/trunk/includes/staging/class-wpvivid-staging-copy-db-ex.php#L1120
- https://plugins.trac.wordpress.org/changeset/3186082/
- https://www.wordfence.com/threat-intel/vulnerabilities/id/9b4eba78-29f2-4357-ab3c-7bc3c20e0e75?source=cve
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-10962. Free for 1 server.
Get started free