# Anti-Spam by CleanTalk <= 6.90 - Unauthenticated Stored Cross-Site Scripting via Comment Author Fields

- **ID:** WPSEC-2026-2028
- **Plugin:** Anti-Spam, Spam FireWall by CleanTalk (`cleantalk-spam-protect`), https://wordpress.org/plugins/cleantalk-spam-protect/
- **Affected versions:** all versions before 6.91
- **Fixed in:** 6.91 (Update to 6.91 or later.)
- **Severity:** Medium 5.4 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N)
- **Weakness:** CWE-79
- **Usage among sites WPSec scans:** plugin High, affected versions High (as of 2026-10-30)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/cleantalk-spam-protect
- **Fix released:** 2026-10-29
- **Published:** 2026-10-30
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2028/

## Description

The Anti-Spam, Spam FireWall by CleanTalk plugin for WordPress is vulnerable to Stored Cross-Site Scripting via comment data shown in the admin 'Find Spam' comments list in all versions up to, and including, 6.90 due to the comment author e-mail being placed unescaped inside a single-quoted href attribute in the Find Spam comments results; e-mail addresses may legally contain quote characters. This makes it possible for unauthenticated attackers to inject arbitrary web scripts that execute when an administrator views the scan results, provided the scan flags the comment as spam (its IP or e-mail is on the CleanTalk blacklist at scan time).

## References

- https://wpsec.com/vuln/WPSEC-2026-2028/
- https://plugins.svn.wordpress.org/cleantalk-spam-protect/tags/6.91/
- https://wordpress.org/plugins/cleantalk-spam-protect/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-2028/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
