CVE-2025-14071
PHP Object Injection in Live Composer Plugin via Shortcode Deserialization
Publication date: 2025-12-21
Last updated on: 2025-12-21
Assigner: Wordfence
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| live-composer | live-composer-page-builder | 2.0.3 |
| live-composer | live-composer-page-builder | 2.0.2 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-502 | The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2025-14071 is a PHP Object Injection vulnerability in the Live Composer β Free WordPress Website Builder plugin for WordPress, affecting all versions up to and including 2.0.2. It occurs via deserialization of untrusted input in the dslc_module_posts_output shortcode. Authenticated attackers with Contributor-level access or higher can inject PHP objects. However, the vulnerability only has an impact if another plugin or theme installed on the site contains a POP (Property Oriented Programming) chain, which can be exploited to perform malicious actions such as deleting files, retrieving sensitive data, or executing code. The vulnerability was fixed by replacing unsafe PHP serialization with JSON encoding, implementing secure deserialization that blocks object injection on PHP 7.0 and above, and adding validation to ensure data integrity. [2]
How can this vulnerability impact me? :
If exploited, this vulnerability can allow an attacker with Contributor-level access or higher to inject PHP objects through deserialization. If the site has another plugin or theme that contains a POP chain, the attacker could leverage this to delete arbitrary files, retrieve sensitive data, or execute arbitrary code on the server. Without a POP chain present, the vulnerability has no impact. Therefore, the risk depends on the presence of additional vulnerable components that enable exploitation. [2]
How can this vulnerability be detected on my network or system? Can you suggest some commands?
Detection of this vulnerability involves identifying if the Live Composer β Free WordPress Website Builder plugin is installed with a version up to and including 2.0.2, and if the vulnerable shortcode `dslc_module_posts_output` is used with serialized PHP input. Since the vulnerability requires authenticated users with Contributor-level access or higher to exploit, monitoring for unusual or unauthorized use of this shortcode with serialized data could indicate exploitation attempts. Specific commands are not provided in the resources, but general detection could include: 1. Checking the plugin version installed on the WordPress site. 2. Searching for usage of the shortcode `[dslc_module_posts_output]` with serialized PHP data in posts or requests. 3. Monitoring logs for POST or GET requests containing serialized PHP objects targeting this shortcode. 4. Using WordPress CLI commands to list plugin versions, e.g., `wp plugin list` to verify the plugin version. 5. Searching the database or content for serialized PHP strings related to this shortcode. However, no explicit detection commands or scripts are provided in the resources.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include updating the Live Composer β Free WordPress Website Builder plugin to version 2.0.3 or later, where the vulnerability is fixed by replacing unsafe PHP serialization with JSON encoding and implementing secure deserialization that blocks PHP object injection. Specifically, the update changes the shortcode output from using PHP `serialize()` to `json_encode()`, and the deserialization logic now prefers JSON decoding and restricts object instantiation during unserialization on PHP 7.0 and above. Additionally, ensure that no other plugins or themes installed provide a POP chain that could be exploited in conjunction with this vulnerability. If updating immediately is not possible, restrict Contributor-level and higher user access and monitor for suspicious activity involving the vulnerable shortcode. These steps reduce the risk of arbitrary file deletion, sensitive data retrieval, or code execution. [2]