CVE-2026-109198
Anti-Spam by CleanTalk <= 6.89.1 - Unauthenticated Stored Cross-Site Scripting via 'user_email' Registration Parameter
High 7.2
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.
Wordfence
2026-10-23
2026-10-23
2026-10-12
Scores
| Source | CVSS | Score | Severity | Vector |
|---|---|---|---|---|
| Wordfence | 3.1 | 7.2 | High | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N |
Weaknesses
Affected
| Vendor | Product | Versions |
|---|---|---|
| cleantalk | CleanTalk Anti-Spam – Complete Spam Protection | <= 6.89.1 (affected)
others: unaffected |
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/93cf8a35-61a4-4998-ae34-86c96898e30f?source=cve
- https://plugins.trac.wordpress.org/browser/cleantalk-spam-protect/tags/6.89.1/lib/Cleantalk/ApbctWP/FindSpa...
- https://plugins.trac.wordpress.org/browser/cleantalk-spam-protect/tags/6.89.1/lib/Cleantalk/ApbctWP/FindSpa...
- https://plugins.trac.wordpress.org/browser/cleantalk-spam-protect/tags/6.89.1/lib/Cleantalk/ApbctWP/FindSpa...
- https://plugins.trac.wordpress.org/browser/cleantalk-spam-protect/tags/6.89.1/inc/cleantalk-public-integrat...
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3747972%40cleantalk-spam-protect&new=3747972%40c...
Full CVE JSON record (5.2)
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "CleanTalk Anti-Spam \u2013 Complete Spam Protection",
"vendor": "cleantalk",
"versions": [
{
"lessThanOrEqual": "6.89.1",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "daroo"
}
],
"descriptions": [
{
"lang": "en",
"value": "The Anti-Spam by CleanTalk \u2013 Spam Protection Without CAPTCHA plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the \u0027user_email\u0027 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\u0027s user-spam scan and views the resulting Non-checkable users or Spam users tab \u2014 the plugin\u0027s own documented workflow."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.2,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-79",
"description": "CWE-79 Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-23T04:31:54.216Z",
"orgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
"shortName": "Wordfence"
},
"references": [
{
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/93cf8a35-61a4-4998-ae34-86c96898e30f?source=cve"
},
{
"url": "https://plugins.trac.wordpress.org/browser/cleantalk-spam-protect/tags/6.89.1/lib/Cleantalk/ApbctWP/FindSpam/ListTable/BadUsers.php#L87"
},
{
"url": "https://plugins.trac.wordpress.org/browser/cleantalk-spam-protect/tags/6.89.1/lib/Cleantalk/ApbctWP/FindSpam/ListTable/Users.php#L113"
},
{
"url": "https://plugins.trac.wordpress.org/browser/cleantalk-spam-protect/tags/6.89.1/lib/Cleantalk/ApbctWP/FindSpam/UsersChecker.php#L182"
},
{
"url": "https://plugins.trac.wordpress.org/browser/cleantalk-spam-protect/tags/6.89.1/inc/cleantalk-public-integrations.php#L882"
},
{
"url": "https://plugins.trac.wordpress.org/changeset?reponame=\u0026old=3747972%40cleantalk-spam-protect\u0026new=3747972%40cleantalk-spam-protect"
}
],
"timeline": [
{
"lang": "en",
"time": "2026-10-12T13:40:28.000Z",
"value": "Vendor Notified"
},
{
"lang": "en",
"time": "2026-10-22T16:27:43.000Z",
"value": "Disclosed"
}
],
"title": "Anti-Spam by CleanTalk \u003c= 6.89.1 - Unauthenticated Stored Cross-Site Scripting via \u0027user_email\u0027 Registration Parameter"
}
},
"cveMetadata": {
"assignerOrgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
"assignerShortName": "Wordfence",
"cveId": "CVE-2026-109198",
"datePublished": "2026-10-23T04:31:54.216Z",
"dateReserved": "2026-10-12T13:23:49.744Z",
"dateUpdated": "2026-10-23T04:31:54.216Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}