The Newsletter plugin for WordPress, with over 300,000 active installations, is widely adopted for managing subscriptions, creating automated campaigns, and personalizing subscriber experiences. However, a severe security flaw—CVE-2025-3584—has been discovered in the plugin’s subscription settings, specifically in its “Welcome page content” feature. This vulnerability allows users with Editor privileges to inject malicious JavaScript into the global “Welcome page” template. When unsuspecting visitors or administrators land on any post or page displaying the Welcome content, the injected script executes, opening the door to full account takeover via a persistent backdoor.

CVECVE-2025-3584
Newsletter – Send awesome emails from WordPress < 8.7.1
CriticalHigh
All Time30 838 157
Active installations300 000+
Publicly PublishedMay 30, 2025
Last UpdatedMay 30, 2025
ResearcherDmitrii Ignatyev
OWASP TOP-10A7: Cross-Site Scripting (XSS)
PoCYes
ExploitNo
Reference https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-3584
https://wpscan.com/vulnerability/76937bdd-7ffa-4b5e-ade1-60da095a03a3/
Plugin Security Certification by CleanTalk
Logo of the plugin

Join the community of developers who prioritize security. Highlight your plugin in the WordPress catalog.

PSC by Cleantalk

Timeline

February 18, 2025Plugin testing and vulnerability detection in the Newsletter – Send awesome emails from WordPress have been completed
February 18, 2025I contacted the author of the plugin and provided a vulnerability PoC with a description and recommendations for fixing
May 30, 2025Registered CVE-2025-3584

Discovery of the Vulnerability

During a comprehensive security review of the Newsletter plugin’s settings screens, it was observed that the “Welcome page content” field did not properly sanitize HTML input before storing it in the database. By toggling off the “Customize” option and inserting raw HTML with embedded onerror event handlers, an attacker with only Editor-level access could persistently store JavaScript that would be rendered on every visitor’s page load. The vulnerability was confirmed by injecting a simple <img src=x onerror=alert(1)> payload, which executed automatically upon page access, demonstrating the absence of output escaping.

Understanding of XSS attack’s

Cross-Site Scripting (XSS) remains one of the most prevalent vulnerabilities in WordPress due to its plugin-rich architecture and frequent reliance on user-generated content. Stored XSS in particular is dangerous because malicious scripts are saved server-side and repeatedly executed for any user viewing the affected page. Historically, similar flaws in other newsletter and form plugins have led to data breaches, session hijacking, and unauthorized administrative actions. For example, CVE-2024-11924 in the Email Subscribers plugin allowed editors to embed scripts in confirmation messages, leading to cookie theft. CVE-2025-3584 follows the same pattern, exploiting trusted Admin settings to execute unauthorized code.

Exploiting the XSS Vulnerability

To exploit CVE-2025-3584, an attacker with editor+ privileges:

POC:

1) Create a new page/post with form of this plugin and send any Data in it
2) Go to settings of Subscription 127.0.0.1/wordpress/wp-admin/admin.php?page=newsletter_subscription_options
3) Change "Welcome page content" to <img src=x onerror=alert(1)> and toggle off "Customize" button
4) To trigger XSS tou should go to the page from first step
(Admins and editors are allowed to use JS in posts/pages/comments/etc, so the unfiltered_html capability should be disallowed when testing for Stored XSS using such roles)

____

The implications of CVE-2025-3584 are severe and far-reaching. By elevating a low-trust Editor account to effectively plant persistent XSS, an attacker can hijack admin sessions, steal cookies, and use the Newsletter plugin’s own REST API to provision new admin users. In real-world settings, compromised sites could see unauthorized changes to site content, deployment of malware, redirection to phishing domains, data exfiltration, or complete defacement. Given the plugin’s large install base, the vulnerability poses a widespread risk, especially for multi-author blogs, corporate sites, and membership platforms that rely heavily on subscription management.

Recommendations for Improved Security

To mitigate this vulnerability:

  • Update Immediately: Apply the Newsletter plugin patch that addresses CVE-2025-3584 as soon as it is available.
  • Sanitize Inputs: Plugin developers must enforce rigorous sanitization on all HTML input fields using functions like wp_kses_post() and esc_html() before saving to the database.
  • Escape Outputs: Always escape dynamic content on frontend render with esc_html() or wp_kses() based on context.
  • Restrict Editor Capabilities: Limit the unfiltered_html capability to Administrators only, preventing Editors from embedding raw HTML.
  • Implement CSP & WAF: Deploy a Content Security Policy to block inline scripts and use a Web Application Firewall to detect and block XSS payloads.
  • Audit and Monitor: Regularly audit plugin settings and monitor site logs for suspicious changes to subscription templates.

To prevent this type of attacks vendor used our methods of prevention.

By taking proactive measures to address Stored XSS vulnerabilities like CVE-2025-3584, WordPress website owners can enhance their security posture and safeguard against potential exploitation. Stay vigilant, stay secure.

#WordPressSecurity #StoredXSS #WebsiteSafety #StayProtected #HighVulnerability

Use CleanTalk solutions to improve the security of your website

Dmitrii I.
CVE-2025-3584 – Newsletter – Stored XSS to JS Backdoor Creation – POC

Leave a Reply

Your email address will not be published. Required fields are marked *