Read the docs

Stored cross-site scripting in Stop Spammers Classic WordPress plugin

Priority LOW 21CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
High
Impact type
Cross-site scripting
Confidentiality · integrity · availability
Low · Low · None
Fix status
No fix listed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-79.

Summary

The Stop Spammers Classic plugin for WordPress is affected up to and including 2026.6. A missing escape of single quotes lets a stored author value break out of a JavaScript string on the Log Report admin page (CWE-79). An unauthenticated remote attacker can store a crafted author value that runs script in the browser of an administrator who clicks the Report to SFS link, when the StopForumSpam API key is configured.

Written with Claude Haiku 5.5 from the sources below · 2026-11-07

Description from the CNA

The Stop Spammers Classic plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'author' POST parameter in versions up to, and including, 2026.6. An unauthenticated POST handled on init stores the attacker-supplied author field (after sanitize_text_field, which does not escape single quotes) into the ss_stop_sp_reg_stats option history. The Log Report admin page then renders that stored value inside a single-quoted JavaScript string within a double-quoted onclick attribute using esc_js(); because esc_js() uses _wp_specialchars with ENT_COMPAT it does not escape single quotes, allowing the stored value to break out of the JS string literal and inject arbitrary JavaScript. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute whenever an administrator with manage_options access clicks the 'Report to SFS' link on an attacker-poisoned log row (the StopForumSpam API key must be configured for that link to be rendered — the field is empty by default). Successful exploitation additionally requires an action by an administrator — the attacker cannot trigger the vulnerability on their own.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00251 16th percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
webguyioStop Spammers Classicup to 2026.6—No fix listedCNA
  • Stop Spammers Classic Vendorwebguyio Affected up to 2026.6 Fixed in — No fix listed CNA

Remediation

The sources list no fixed version for Stop Spammers Classic.

Written with Claude Haiku 5.5 from the sources below · 2026-11-07

Timeline

  1. 2026-11-07 Threatist record created from CVE-2026-120477
  2. 2026-11-07 Alias added: GHSA-xvc3-wff6-474c
  3. 2026-11-07 CISA SSVC decision points changed

References

  • TI-2025-02564 Cross-site request forgery in webguyio Stop Spammers Classic CVSS 3.1MEDIUM 5.4
  • TI-2023-06461 Stop Spammers Security | Block Spam Users, Comments, Forms <= 2024.4 - Cross-Site Request Forgery (CSRF) via sfs_process CVSS 3.1MEDIUM 5.4
  • TI-2026-01765 Dam Spam <= 1.0.8 - Cross-Site Request Forgery to Arbitrary Pending Comment Deletion CVSS 3.1MEDIUM 4.3
  • TI-2025-13500 Stop Spammers Classic <= 2026.1 - Cross-Site Request Forgery via Email Allowlist CVSS 3.1MEDIUM 4.3

Sources