Captivate Sync CVE-2025-60221
CRITICALSeverity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Network-reachable and unauthenticated per the report, but PHP object injection requires a present POP gadget chain to achieve impact, so AC:H; full CIA loss assumed if exploited.
Primary rating from Vendor (patchstack).
CVSS VectorVendor: patchstack
Lifecycle Timeline
2DescriptionCVE.org
Deserialization of Untrusted Data vulnerability in captivateaudio Captivate Sync captivatesync-trade allows Object Injection.This issue affects Captivate Sync: from n/a through <= 3.0.3.
AnalysisAI
PHP object injection in the WordPress plugin Captivate Sync (slug captivatesync-trade) through version 3.0.3 lets remote, unauthenticated attackers feed crafted serialized input into a PHP unserialize() path, which vendor/NVD scoring rates at CVSS 9.8 with full confidentiality, integrity and availability impact. Our independent assessment revises the vector to AC:H, because turning object injection into real impact requires a usable POP gadget chain in the plugin or another loaded component, and the available data does not confirm that such a chain exists. There is no public exploit identified at time of analysis, EPSS is low at 0.58% (46th percentile), the issue is not in CISA KEV, and real-world exposure is bounded by the plugin's narrow deployment footprint and by whether the vulnerable deserialization endpoint is reachable in a given configuration.
Technical ContextAI
The flaw is CWE-502, Deserialization of Untrusted Data, in a WordPress plugin. WordPress plugins are PHP components loaded inside the CMS request lifecycle, and this class of bug occurs when attacker-supplied data reaches PHP's unserialize() (or an equivalent wrapper such as maybe_unserialize()/unserialize() on request parameters, cookies, or stored options) without type or integrity validation. PHP's unserialize() instantiates objects named in the payload and invokes magic methods such as __wakeup(), __destruct(), __toString() and __call(); an attacker who can influence those object graphs can chain them into a POP (property-oriented programming) gadget chain that pivots object injection into file operations, SQL, or code execution. Note that object injection alone is not equivalent to code execution - impact is contingent on the availability of a suitable gadget chain in Captivate Sync, WordPress core, or another active plugin/theme. The supplied CPE and version data identify the affected component as the WordPress plugin Captivate Sync (captivatesync-trade) at versions up to and including 3.0.3; PatchesStack attributes the report to audit@patchstack.com and publishes a single vendor-database advisory, with no additional technical write-up or exploit analysis provided in the intelligence set.
Affected ProductsAI
Captivate Sync, the WordPress plugin distributed under the slug captivatesync-trade, is affected at all versions from n/a through 3.0.3 inclusive; the vendor database entry lists the plugin-3-0-3 release as the vulnerable artifact. No CPE string was included in the supplied data, so identification should rely on the WordPress plugin slug and installed plugin version rather than a formal CPE match. Site operators can enumerate exposure through the WordPress plugins list or WP-CLI (wp plugin list --status=active) using the captivatesync-trade slug. The only reference provided is the PatchesStack advisory at https://patchstack.com/database/Wordpress/Plugin/captivatesync-trade/vulnerability/wordpress-captivate-sync-plugin-3-0-3-php-object-injection-vulnerability?_s_id=cve, which is the authoritative vendor-database source for the affected version and any subsequently published fixed release.
RemediationAI
No vendor-released fixed version was identified in the provided data at time of analysis, so confirm the current patched release on the PatchesStack advisory page (https://patchstack.com/database/Wordpress/Plugin/captivatesync-trade/vulnerability/wordpress-captivate-sync-plugin-3-0-3-php-object-injection-vulnerability?_s_id=cve) and upgrade to it as soon as it is published; if no fix is available, the most reliable action is to deactivate, and ideally uninstall, the Captivate Sync (captivatesync-trade) plugin on any site that does not strictly need it, accepting the loss of the sync functionality it provides. Where the plugin must stay active, reduce the attack surface by restricting network access to the plugin's AJAX/REST/admin-ajax endpoints (for example, IP allow-listing or blocking unauthenticated POSTs to the plugin's routes), since the assessed vector is PR:N/UI:N and any unauthenticated reachable deserialization path is the primary exposure. Add a WAF rule that rejects request bodies containing PHP serialized object markers (for example, patterns matching O:<digit>:\"...\") on those endpoints, understanding that legitimate plugin payloads may be serialized and that such rules can cause false positives and break syncing. Because exploitation additionally depends on a usable POP gadget chain, shrinking the gadget surface helps: remove unused plugins and themes and keep WordPress core, all plugins and the PHP runtime patched, as this can break chains that would otherwise convert object injection into file write or code execution. Finally, monitor web and PHP logs for serialized payloads or unexpected object-instantiation errors targeting the plugin, and treat any such activity as attempted exploitation.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u
Same weakness CWE-502 – Deserialization of Untrusted Data
View allSame technique Deserialization
View allShare
External POC / Exploit Code
Leaving vuln.today