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

CVE-2025-62902

CVE-2025-62902 Information Disclosure in Themehunk
📅 PUBLISHED: 2025-10-27 02: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.04%
👁️
0.04% probability
<1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1213
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 5.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: N Integrity None
A: N Availability None
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-62902 is a medium-severity information disclosure vulnerability affecting the ThemeHunk WP Popup Builder WordPress plugin, versions 1.3.8 and earlier. The vulnerability allows an unauthenticated attacker to retrieve embedded sensitive data from the plugin’s configuration or stored popup content, leading to exposure of system information such as database credentials, API keys, or internal paths. This issue falls under CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) and is mapped to MITRE ATT&CK tactic T1213 (Data from Information Repositories). As a WordPress plugin vulnerability, it is specific to the WordPress ecosystem and does not involve Apache or Nginx directly.

⚡ 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 is part of the WordPress plugin supply chain. The plugin is distributed via the official WordPress plugin repository and third-party marketplaces. Users who installed the plugin from these sources are affected. No official patch has been released by the vendor, and the plugin’s status remains unpatched. Organizations should treat this as a supply chain risk and consider removing or replacing the plugin until a fix is available.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
  • Base Score: 5.3 (Medium)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: None (PR:N)
  • User Interaction: None (UI:N)
  • Scope: Unchanged (S:U)
  • Confidentiality Impact: Low (C:L)
  • Integrity Impact: None (I:N)
  • Availability Impact: None (A:N)

The threat level is medium due to the low complexity and no required privileges, but the impact is limited to information disclosure. However, exposed sensitive data could be leveraged for further attacks.

Deep Dive & Mechanics

The vulnerability resides in the WP Popup Builder plugin’s handling of popup data. The plugin stores sensitive system information (e.g., database credentials, API keys, or internal paths) in a manner that is accessible to unauthenticated users. This likely occurs through an insecure REST API endpoint, a misconfigured AJAX handler, or direct file access that exposes the plugin’s configuration or stored popup content.

Root Cause: The plugin fails to properly restrict access to its data storage mechanisms, allowing any user to retrieve embedded sensitive data without authentication.

Attack Vector: An attacker can send a crafted HTTP request to a vulnerable endpoint (e.g., /wp-json/wp-popup-builder/v1/config or a direct file read) to retrieve the sensitive information.

Impact: Successful exploitation leads to the disclosure of system information, which can be used to pivot to other attacks, such as database compromise or lateral movement.

Vulnerable vs. Patched Code

Since no patch is available, a comparison cannot be made. However, based on the vulnerability type, the following is a hypothetical example of vulnerable code and a potential fix:

Vulnerable Code (PHP):

// wp-popup-builder/includes/class-popup-data.php
function get_popup_config() {
    $config = get_option('wp_popup_builder_config');
    return $config; // Exposes all config data including sensitive info
}
add_action('rest_api_init', function () {
    register_rest_route('wp-popup-builder/v1', '/config', array(
        'methods' => 'GET',
        'callback' => 'get_popup_config',
        'permission_callback' => '__return_true' // No authentication
    ));
});

Patched Code (Hypothetical):

// wp-popup-builder/includes/class-popup-data.php
function get_popup_config() {
    if (!current_user_can('manage_options')) {
        return new WP_Error('rest_forbidden', 'You do not have permission.', array('status' => 403));
    }
    $config = get_option('wp_popup_builder_config');
    // Sanitize sensitive data before returning
    unset($config['db_password']);
    unset($config['api_key']);
    return $config;
}
add_action('rest_api_init', function () {
    register_rest_route('wp-popup-builder/v1', '/config', array(
        'methods' => 'GET',
        'callback' => 'get_popup_config',
        'permission_callback' => function () {
            return current_user_can('manage_options');
        }
    ));
});

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Target WordPress site with WP Popup Builder plugin version <= 1.3.8.
  • No authentication required.

Exploitation Steps:

  1. Identify the vulnerable endpoint. Common endpoints include:
    • /wp-json/wp-popup-builder/v1/config
    • /wp-content/plugins/wp-popup-builder/config.json
    • /wp-admin/admin-ajax.php?action=wp_popup_builder_get_config
  2. Send a GET request to the endpoint:
    curl -X GET http://target.com/wp-json/wp-popup-builder/v1/config
    
  3. Parse the response for sensitive data such as database credentials, API keys, or internal paths.

Example Output:

{
  "db_host": "localhost",
  "db_user": "root",
  "db_password": "secret123",
  "api_key": "sk-xxxxx",
  "internal_path": "/var/www/html/wp-content/uploads/"
}

Blue Team

Detection:

  • Monitor for unusual requests to /wp-json/wp-popup-builder/v1/ or /wp-content/plugins/wp-popup-builder/ from unauthenticated IPs.
  • Look for responses containing sensitive keywords like db_password, api_key, or secret.

Hunting:

  • Search logs for requests to the plugin’s REST API endpoints without authentication.
  • Use the Sigma rule provided in Detection Engineering to identify exploitation attempts.

Containment:

  • Immediately disable or remove the WP Popup Builder plugin.
  • Rotate any exposed credentials (database passwords, API keys).
  • Review server logs for signs of data exfiltration.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests to /wp-json/wp-popup-builder/v1/config
    • HTTP requests to /wp-content/plugins/wp-popup-builder/config.json
    • HTTP requests to /wp-admin/admin-ajax.php?action=wp_popup_builder_get_config
  • File IOCs:
    • Presence of wp-popup-builder plugin directory in /wp-content/plugins/
    • Unauthorized access to plugin configuration files
  • Behavioral IOCs:
    • Unauthenticated access to plugin REST API endpoints
    • Sudden increase in outbound traffic from the WordPress server

Detection Engineering

YARA Rule

rule CVE_2025_62902_WP_Popup_Builder_Info_Disclosure {
    meta:
        description = "Detects attempts to exploit CVE-2025-62902 in WP Popup Builder"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-62902"
    strings:
        $s1 = "/wp-json/wp-popup-builder/v1/config" ascii wide nocase
        $s2 = "wp_popup_builder_config" ascii wide nocase
        $s3 = "db_password" ascii wide nocase
        $s4 = "api_key" ascii wide nocase
    condition:
        any of ($s1, $s2) or (all of ($s3, $s4))
}

Sigma Rule

title: CVE-2025-62902 WP Popup Builder Information Disclosure
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects unauthenticated access to WP Popup Builder sensitive endpoints
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'GET'
        cs-uri-stem|contains:
            - '/wp-json/wp-popup-builder/v1/config'
            - '/wp-content/plugins/wp-popup-builder/config.json'
            - '/wp-admin/admin-ajax.php'
        cs-uri-query|contains: 'action=wp_popup_builder_get_config'
    condition: selection
falsepositives:
    - Legitimate admin access (should be authenticated)
level: high

Suricata Rule

alert http any any -> $HOME_NET any (
    msg:"CVE-2025-62902 WP Popup Builder Information Disclosure Attempt";
    flow:to_server,established;
    content:"GET";
    http_method;
    content:"/wp-json/wp-popup-builder/v1/config";
    http_uri;
    classtype:attempted-recon;
    sid:1000001;
    rev:1;
    reference:cve,2025-62902;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable or remove the WP Popup Builder plugin from all WordPress installations.
  2. Rotate any credentials that may have been exposed (database passwords, API keys, etc.).
  3. Review server logs for signs of exploitation and data exfiltration.

Long-term Mitigation:

  • Monitor the vendor’s website for an official patch. If none is released, consider switching to an alternative popup builder plugin.
  • Implement a Web Application Firewall (WAF) rule to block requests to the vulnerable endpoints.
  • Apply the principle of least privilege to all WordPress plugins and ensure REST API endpoints require authentication.

Workaround:

  • If the plugin cannot be removed immediately, add the following rule to .htaccess to block access to the vulnerable endpoints:
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteRule ^wp-json/wp-popup-builder/v1/config - [F,L]
        RewriteRule ^wp-content/plugins/wp-popup-builder/config.json - [F,L]
    </IfModule>
    

Valters IT
DevSecOps & Cyber Threat Intelligence Expert

👁️ 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:"WP Popup Builder"
http.html:"wp-popup-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-62902/ · 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.