CVE-2025-5286
Executive Summary
CVE-2025-5286 is a Stored Cross-Site Scripting (XSS) vulnerability in the Bold Page Builder plugin for WordPress, affecting all versions up to and including 5.3.6. The flaw resides in the additional_settings parameter, where insufficient input sanitization and output escaping allow authenticated attackers with Contributor-level access or higher to inject arbitrary web scripts. These scripts execute whenever a user accesses the compromised page, leading to potential data theft, session hijacking, or defacement. The vulnerability has a CVSS score of 6.4 (Medium), with an EPSS score of 0.0% indicating low exploitation likelihood at this time. No public proof-of-concept or exploit code is 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 affects the WordPress ecosystem through the Bold Page Builder plugin, a third-party component. Organizations using this plugin should treat it as a supply chain risk, as the vendor has not provided a patch. Dependency scanning tools should flag versions <= 5.3.6 as vulnerable.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
- Base Score: 6.4 (Medium)
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: Low (Contributor-level access)
- User Interaction: None
- Scope: Changed (impact on other components)
- Confidentiality Impact: Low
- Integrity Impact: Low
- Availability Impact: None
The threat level is Medium due to the requirement for authenticated access, but the potential for stored XSS to affect all site visitors increases the risk.
Deep Dive & Mechanics
The vulnerability exists in the additional_settings parameter of the Bold Page Builder plugin. When a user with Contributor-level or higher privileges creates or edits a page, the plugin fails to properly sanitize and escape input in this parameter. An attacker can inject malicious JavaScript, which is stored in the WordPress database. When any user (including administrators or visitors) views the affected page, the script executes in their browser context.
The root cause is insufficient input validation and output escaping in the plugin's code. The additional_settings parameter is likely processed without using WordPress's built-in escaping functions like esc_html() or wp_kses_post(), allowing arbitrary HTML and JavaScript to be stored and rendered.
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code is presumed to be in the plugin's page builder logic. A patched version would implement proper sanitization and escaping.
Vulnerable Code (Conceptual):
// In vulnerable version, direct output without escaping
echo $additional_settings;
Patched Code (Conceptual):
// In patched version, use WordPress escaping
echo esc_html( $additional_settings );
Exploitation & Lab Setup
Red Team
Prerequisites:
- WordPress instance with Bold Page Builder plugin <= 5.3.6
- Authenticated user with Contributor role or higher
Exploitation Steps:
- Log in as a Contributor-level user.
- Create a new page or edit an existing one.
- In the page builder, locate the
additional_settingsfield (may be hidden or custom). - Inject a payload such as:
<script>alert('XSS')</script> - Save/publish the page.
- When any user visits the page, the script executes.
Note: No public exploit code is available; this is a conceptual demonstration.
Blue Team
Detection:
- Monitor for unusual page creation or editing by Contributor-level users.
- Look for suspicious content in the
additional_settingsparameter in database logs. - Use WAF rules to block common XSS payloads in POST requests.
Hunting:
- Search WordPress database for stored XSS patterns:
SELECT * FROM wp_posts WHERE post_content LIKE '%<script>%'; - Review page builder logs for anomalous
additional_settingsvalues.
Indicators of Compromise (IOCs)
- File:
/wp-content/plugins/bold-page-builder/(version <= 5.3.6) - Database: Rows in
wp_postsorwp_postmetacontaining<script>tags or event handlers (e.g.,onload,onerror) - Network: HTTP requests to pages with injected scripts; outbound connections to attacker-controlled domains
- Logs: WordPress debug logs showing unexpected output in page builder settings
Detection Engineering
YARA Rule
rule CVE_2025_5286_Bold_Page_Builder_XSS {
meta:
description = "Detects stored XSS payloads in Bold Page Builder plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-5286"
strings:
$xss1 = "<script>" nocase
$xss2 = "onload=" nocase
$xss3 = "onerror=" nocase
$xss4 = "javascript:" nocase
condition:
any of ($xss*) and filesize < 10MB
}
Sigma Rule
title: CVE-2025-5286 - Stored XSS in Bold Page Builder
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects potential stored XSS via additional_settings parameter
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: wordpress
detection:
selection:
http.method: 'POST'
http.url: '*/wp-admin/admin-ajax.php*'
http.body: '*additional_settings*'
keywords:
- '<script>'
- 'onload='
- 'onerror='
condition: selection and keywords
falsepositives:
- Legitimate use of JavaScript in page builder
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-5286 - Stored XSS in Bold Page Builder"; flow:to_server; content:"POST"; http_method; content:"additional_settings"; http_client_body; pcre:"/(<script|onload|onerror|javascript)/i"; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the Bold Page Builder plugin until a patch is available.
- Restrict Contributor-level access to trusted users only.
- Implement a Web Application Firewall (WAF) with XSS rules.
Long-term:
- Monitor the vendor's website for updates.
- Consider replacing the plugin with an alternative that is actively maintained.
- Enforce input validation and output escaping in all custom WordPress plugins.
Workaround:
- Use a security plugin like Wordfence to block XSS attempts.
- Manually sanitize the
additional_settingsparameter via a custom function in the theme'sfunctions.php:add_filter('bold_page_builder_additional_settings', 'wp_kses_post');
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.