Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister account with malicious user_email
-
DeliveryPayload stored unsanitized in user record
-
ExploitAdministrator runs plugin user-spam scan
-
ExecutionStored script renders in admin results tab
-
ImpactScript executes in administrator browser session
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Two concrete preconditions must hold: (1) WordPress user registration must be open on the target site, allowing an unauthenticated attacker to create an account and submit the malicious 'user_email' value - this is not the WordPress default; and (2) an Administrator must subsequently run CleanTalk's user-spam scan and open the Non-checkable users or Spam users tab, the plugin's own documented workflow, which is the point where the stored script executes. The attacker needs no authentication, but exploitation is limited by the non-default open-registration requirement and the dependency on an administrator performing the scan/view action; impact is bounded to the injected admin page context (C:L/I:L, no availability impact). |
| Impact | This is a scope-changed stored XSS (CWE-79) carrying a vendor CVSS 3.1 base score of 7.2 (High) via CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N. The network vector and PR:N correctly reflect that an unauthenticated attacker supplies the payload, but PR:N is gated by a configuration precondition (open user registration) and the vendor vector's UI:N is in tension with the described mechanism: execution only occurs when an Administrator runs the plugin's user-spam scan and opens the Non-checkable/Spam users tab, which is effectively a required action by another user - arguably UI:R. S:C and the C:L/I:L impacts are consistent with script executing in the admin's authenticated browser context rather than full site compromise. No EPSS score, no SSVC decision record, and no KEV listing were provided; the vuln.today decision label is 'this_week', indicating prioritized but not emergency handling. The references are Wordfence's advisory plus WordPress trac source-line and changeset links - these are vulnerability-location and fix-commit references, not verified working exploit code. Netting these signals: a genuine but conditionally-gated issue (two preconditions: open registration and admin interaction) that warrants scheduled patching rather than emergency response. Missing EPSS/SSVC data limits precision on exploitation likelihood. |
| Exploit ScenarioDerived | On a WordPress site with open user registration, an unauthenticated attacker registers an account supplying a crafted 'user_email' value containing a script payload, which is stored without sanitization. When an administrator later runs CleanTalk's user-spam scan and opens the Non-checkable users or Spam users tab, the stored script executes in the administrator's authenticated session. No public exploit code is identified; Wordfence published the affected source locations but not a working exploit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 23, 2026
Stored cross-site scripting in CleanTalk Anti-Spam for WordPress (all versions through 6.89.1) lets an unauthenticated visitor submit a crafted 'user_email' value during registration and have arbitrary script execute in an administrator's browser when the plugin's user-spam scan is run and the Non-checkable users or Spam users tab is opened. Exploitation is gated by two conditions: site user registration must be open, and an administrator must perform that scan/view step, so the issue is not reachable on default configurations lacking those. No public exploit has been identified at time of analysis; the vendor rates it 7.2 (High) with scope change, and our assessed vector agrees on AV:N/AC:L/PR:N/S:C/C:L/I:L/A:N but uses UI:R rather than UI:N because the administrator's scan/view action is required.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed. The referenced WordPress.org changeset at https://plugins.trac.wordpress.org/changeset?reponame=&old=3747972%40cleantalk-spam-protect&new=3747972%40cleantalk-spam-protect contains the code change, but the available data does not state an exact released version that ships it, so administrators should update CleanTalk Anti-Spam to a release that includes that changeset and confirm the installed version is newer than 6.89.1. Review the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/93cf8a35-61a4-4998-ae34-86c96898e30f?source=cve for vendor guidance. Until a fixed release is applied, the exploitable path can be removed by disabling open user registration, with the side effect of preventing self-service account creation, and exposure can be limited by deferring the plugin's user-spam scan and avoiding the Non-checkable users and Spam users tabs, with the trade-off that spam review is left incomplete while the plugin remains unpatched.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
This is a CWE-79 stored cross-site scripting defect in the WordPress plugin CleanTalk Anti-Spam - Complete Spam Protection. The plugin accepts the 'user_email' value during user registration without sufficient input sanitization and later renders stored registration data in its administrative list tables without adequate output escaping, as reflected in the referenced source lines: BadUsers.php line 87, Users.php line 113, UsersChecker.php line 182, and cleantalk-public-integrations.php line 882. Because the stored value is rendered into admin-facing pages, the impact is scope-changed (S:C): the script executes in the higher-privileged administrator context rather than the attacker's unauthenticated or low-privileged registration context, with low confidentiality and integrity impact (C:L/I:L) and no availability impact (A:N). The assessed vector is CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N; the UI:R component reflects the requirement that an administrator run the plugin's user-spam scan and open the Non-checkable users or Spam users tab, while the vendor's vector records UI:N. Exploitation additionally requires that WordPress user registration be open on the target site, which is not the default.
Know when Wordpress Plugin gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Unauthenticated injection keeps PR:N, but execution requires an administrator to run the scan and view the tab, so UI:R; cross-context execution in the admin session gives S:C with limited C/I and no availability impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Anti-Spam by CleanTalk - Spam Protection Without CAPTCHA plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'user_email' parameter in all versions up to, and including, 6.89.1 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Successful exploitation requires user registration to be open on the site, and script execution is triggered when an Administrator subsequently runs the plugin's user-spam scan and views the resulting Non-checkable users or Spam users tab - the plugin's own documented workflow.
Executive ViewAI
CleanTalk Anti-Spam for WordPress (versions through 6.89.1) contains a stored cross-site scripting vulnerability that could allow an unauthenticated attacker to execute arbitrary script in an administrator's browser when the admin performs a spam scan and views specific user tabs. This requires user registration to be open and an administrator to trigger the scan, so not all sites are exposed. Leadership should prioritize sites with open registration and administrative review of spam users, as compromise could lead to administrative account takeover and broader site compromise.
No vendor patch available. Interim mitigations: restrict user registration to trusted domains or disable open registration where feasible; deploy WAF rules to block script injection in 'user_email' fields; educate administrators to avoid opening Non-checkable users or Spam users tabs in the plugin's scan interface unless necessary; consider temporarily disabling the plugin on high-risk sites; monitor vendor advisory for patch release.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
EUVD-2026-108584
GHSA-qg8v-7rmw-27ch
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB