Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSelf-register as marketplace vendor
-
DeliveryObtain customer who placed an order
-
ExploitSend REST update with 'password' parameter for victim ID
-
ExecutionLog in using new credentials
-
ImpactLimited customer account takeover
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Two concrete prerequisites must both hold: (1) the attacker must possess a Dokan vendor/custom-level account - attainable without approval via the public 'I am a vendor' self-registration flow only when that option is enabled on the site; and (2) the target must be a customer who has placed at least one order with the attacking vendor, since the object-level guard permits edits only on that vendor's own customers. Exploitation is further limited to Dokan versions up to and including 5.2.1, requires authentication (PR:L), and does not require user interaction. Sites that disable open vendor registration or vet vendors manually substantially raise the bar, as the attacker must otherwise obtain vendor access by other means. |
| Impact | This is a genuine but bounded authorization flaw (CWE-639 IDOR), not a high-urgency emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N, 4.3 Medium) is internally consistent with the description: network-reachable REST endpoint, low complexity, but requiring PR:L - a vendor/custom-level account. No EPSS score was supplied in the input, so exploitation probability cannot be quantified here. The CVE is NOT in CISA KEV and there is no public exploit identified at time of analysis, so this is 'no public exploit identified' rather than active exploitation. Two factors raise concern above the raw score: (1) the required vendor privilege is self-granting via the public 'I am a vendor' registration flow when enabled, effectively collapsing PR:L toward attacker-attainable; (2) the outcome is account takeover, which arguably carries a confidentiality impact the vendor's C:N does not capture (logging in as the victim exposes their PII and order history). Countering that, exploitation is scoped: the attacker can only reset the password of a customer who has already placed at least one order with that specific attacking vendor, limiting it to targeted rather than mass takeover. Net: a legitimate patch-worthy issue for live marketplaces, prioritized Medium. |
| Exploit ScenarioDerived | An attacker self-registers as a vendor on a Dokan marketplace that permits open vendor signup, then waits for (or solicits) a customer to place an order with their store. Using the authenticated Dokan REST customers endpoint, the vendor sends an update request carrying a 'password' value for that customer's user ID, which is accepted due to missing validation on the user-controlled key, and then logs in as the victim. No public proof-of-concept is identified at time of analysis; exploitation is network-based and low-complexity but requires the pre-existing vendor-customer order relationship. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Authenticated vendor-level users of the Dokan multivendor marketplace plugin for WordPress (all versions up to and including 5.2.1) can reset the WordPress account password of any customer who has placed at least one order with their store, by supplying an arbitrary value to the 'password' parameter of the plugin's REST customers endpoint. The flaw is a CWE-639 insecure direct object reference: the endpoint's object-level guard only verifies that the target user is one of the requesting vendor's own customers, and never blocks changes to login-identity fields, so a vendor can overwrite the stored password hash and then log in as that customer for a limited account takeover. Vendor access required to exploit this can be self-obtained through the public 'I am a vendor' registration flow when that option is enabled, but the practical impact is bounded - the attacker must already hold a vendor or custom-level account and can only target customers with an existing order relationship; no confirmed active exploitation (not in CISA KEV) and no public exploit code identified at time of analysis.
RemediationAI
Apply the upstream fix: update the Dokan plugin to the first release that contains PR getdokan/dokan#3433, whose plugin-repository counterpart is the trunk changeset at https://plugins.trac.wordpress.org/changeset/3734440/dokan-lite/trunk/includes/REST/CustomersController.php - an exact patched version number is not confirmed in the available data, so treat any build newer than the affected range that includes this changeset as the target and verify the REST controller rejects password/email changes before relying on it. There is no vendor-released advisory version string to quote, so confirmation against the vendor listing is recommended. Because the fix is a server-side permission check, no client-side workaround closes the hole; the most effective compensating controls are to disable the public 'I am a vendor' self-registration option (or gate it behind manual approval/KYC), which removes the cheapest path to the required PR:L vendor account - the trade-off is reduced vendor onboarding. If registration cannot be disabled, restrict the Dokan REST customer-update routes (for example by requiring an administrative capability or blocking PUT/POST to /wp-json/dokan/v1/customers and /customers/batch at the WAF/reverse-proxy layer for non-admin roles), accepting that legitimate vendors may lose the ability to edit customer profiles. Additional monitoring is worthwhile: alert on dokan_rest_forbidden_field responses, on REST-driven changes to wp_users.user_pass and user_email for accounts whose only relationship with the requester is an order, and on subsequent logins by those accounts - an attacker who has already rotated a password can be evicted by forcing a site-wide password reset for affected customers and invalidating their sessions.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Dokan extends WooCommerce with a multi-vendor marketplace layer and exposes customer records through a WordPress REST controller, includes/REST/CustomersController.php, where a PUT/update action hands request parameters to WooCommerce's customer update routine. CWE-639 (Authorization Bypass Through User-Controlled Key) describes the root cause precisely: the permission callback check_permission() and the object-level helper is_target_user_allowed() validate only that the target user ID belongs to a customer who has ordered from the authenticated vendor, but they do not distinguish between harmless profile fields and login-identity fields. Because the 'password' parameter is passed through unfiltered to the underlying user save, the vendor's authenticated write reaches the WordPress user password hash for a user they should not control. The same guard also permitted changes to the account 'email' address, which is an equivalent login-identity takeover vector. The affected code paths are in dokan-lite tags including 5.1.1 (CustomersController.php lines ~60, ~99, ~227, ~352 and includes/Order/functions.php line ~858), and the deficiency persists through 5.2.1 per the CPE record for dokaninc:dokan:_ai_powered_woocommerce_multivendor_marketplace_solution. The upstream fix (PR getdokan/dokan#3433, mirrored in WordPress.org changeset 3734440 and visible in trunk/includes/REST/CustomersController.php) adds an explicit field-level check on the 'edit' action that rejects any non-null, non-empty 'password' value with a dokan_rest_forbidden_field error, rejects email values that differ from the customer's current login email (including non-string values that skip request validation in batch requests), and adds regression tests for both the single and batch endpoints.
Know when Dokan gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
Network REST endpoint and low complexity; PR:L because self-registered vendor access is required; I:L for the password change and C:L because resulting login exposes the victim's account data, slightly above the vendor's C:N.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Dokan: AI Powered WooCommerce Multivendor Marketplace Solution - Build Your Own Amazon, eBay, Etsy plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 5.2.1 via the 'password' parameter due to missing validation on a user controlled key. This makes it possible for authenticated attackers, with custom-level access and above, to change the WordPress account password of any customer who has placed at least one order with the attacking vendor, enabling login as that customer and resulting in a limited account takeover. Vendor-level access, required to exploit this vulnerability, can be self-registered through the public 'I am a vendor' registration flow when that option is enabled on the site.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
The Dokan Pro plugin for WordPress is vulnerable to SQL Injection via the 'code' parameter in all versions up to, and in
The Dokan WordPress plugin before 3.7.6 does not properly sanitise and escape a parameter before using it in a SQL state
Improper access control in the Dokan WooCommerce Multivendor Marketplace WordPress plugin before 5.0.14 enables authenti
Dokan's WooCommerce multivendor marketplace WordPress plugin (versions before 5.0.11) exposes a broken object-level auth
Unauthenticated information disclosure in Dokan WooCommerce Multivendor Marketplace plugin (versions before 5.0.14) allo
Unauthenticated privilege escalation in the Blocksy Companion WordPress plugin (versions up to and including 2.1.58) all
Privilege escalation in Dokan (WordPress multivendor marketplace plugin) versions up to and including 5.0.1 enables any
An authentication bypass vulnerability exists in Dokan (Dokan, Inc.) dokan-lite plugin versions through 4.2.4 that allow
Privilege escalation in Dokan WordPress plugin versions 5.0.2 and earlier allows authenticated low-privileged customer a
Broken object-level authorization in the Dokan WordPress plugin (versions before 5.0.9) allows any authenticated vendor
Order ownership bypass in Dokan Multivendor for WordPress (versions before 5.0.9) allows any authenticated vendor to mod
The Dokan plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 3.0.8. Rate
EUVD-2026-102619
GHSA-ff3p-97v2-hvmp
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB