Skip to main content

Dokan CVE-2026-89280

| EUVDEUVD-2026-102619 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-16 Wordfence GHSA-ff3p-97v2-hvmp
4.3
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Self-register as marketplace vendor
  2. Delivery
    Obtain customer who placed an order
  3. Exploit
    Send REST update with 'password' parameter for victim ID
  4. Execution
    Log in using new credentials
  5. Impact
    Limited 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Dokan: AI Powered WooCommerce Multivendor Marketplace Solution – Build Your Own Amazon, eBay, Etsy 0 ≤5.2.1

Affected Packages

euvd dokan_ai_powered_woocommerce_multivendor_marketplace_solution_build_your_own_amazon_ebay_etsy no fix

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

Vendor (Wordfence) PRIMARY 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 5.4 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

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

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Medium
popular WooCommerce multivendor plugin, but only on marketplace-style sites
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Dokan

View all
CVE-2024-3922 CRITICAL POC
10.0 Jun 13

The Dokan Pro plugin for WordPress is vulnerable to SQL Injection via the 'code' parameter in all versions up to, and in

CVE-2022-3915 CRITICAL POC
9.8 Dec 12

The Dokan WordPress plugin before 3.7.6 does not properly sanitise and escape a parameter before using it in a SQL state

CVE-2026-16576 HIGH POC
7.2 Aug 21

Improper access control in the Dokan WooCommerce Multivendor Marketplace WordPress plugin before 5.0.14 enables authenti

CVE-2026-16574 MEDIUM POC
5.4 Aug 08

Dokan's WooCommerce multivendor marketplace WordPress plugin (versions before 5.0.11) exposes a broken object-level auth

CVE-2026-16575 MEDIUM POC
5.3 Aug 21

Unauthenticated information disclosure in Dokan WooCommerce Multivendor Marketplace plugin (versions before 5.0.14) allo

CVE-2026-107645 CRITICAL
9.1 Oct 10

Unauthenticated privilege escalation in the Blocksy Companion WordPress plugin (versions up to and including 2.1.58) all

CVE-2026-8761 HIGH
8.8 Aug 05

Privilege escalation in Dokan (WordPress multivendor marketplace plugin) versions up to and including 5.0.1 enables any

CVE-2026-24359 HIGH
8.8 Mar 25

An authentication bypass vulnerability exists in Dokan (Dokan, Inc.) dokan-lite plugin versions through 4.2.4 that allow

CVE-2026-49780 HIGH
8.8 Jun 15

Privilege escalation in Dokan WordPress plugin versions 5.0.2 and earlier allows authenticated low-privileged customer a

CVE-2026-16565 MEDIUM POC
4.3 Aug 03

Broken object-level authorization in the Dokan WordPress plugin (versions before 5.0.9) allows any authenticated vendor

CVE-2026-16564 MEDIUM POC
4.3 Aug 03

Order ownership bypass in Dokan Multivendor for WordPress (versions before 5.0.9) allows any authenticated vendor to mod

CVE-2020-36748 MEDIUM POC
4.3 Jul 01

The Dokan plugin for WordPress is vulnerable to Cross-Site Request Forgery in versions up to, and including, 3.0.8. Rate

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy