Description
The Short Comment Filter plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'Minimum Count' settings field in all versions up to and including 2.2. This is due to insufficient input sanitization (no sanitize callback on register_setting) and missing output escaping (no esc_attr() on the echoed value in the input's value attribute). The option value is stored via update_option() and rendered unescaped in an HTML attribute context. This makes it possible for authenticated attackers, with administrator-level access and above, to inject arbitrary web scripts in the settings page that will execute whenever a user accesses that page. This is particularly impactful in WordPress multisite installations or when DISALLOW_UNFILTERED_HTML is set, where administrators are not granted the unfiltered_html capability.
References9
- plugins.trac.wordpress.org/browser/short-comment-filter/tags/2.…
- plugins.trac.wordpress.org/browser/short-comment-filter/tags/2.…
- plugins.trac.wordpress.org/browser/short-comment-filter/tags/2.…
- plugins.trac.wordpress.org/browser/short-comment-filter/tags/2.…
- plugins.trac.wordpress.org/browser/short-comment-filter/trunk/c…
- plugins.trac.wordpress.org/browser/short-comment-filter/trunk/c…
- plugins.trac.wordpress.org/browser/short-comment-filter/trunk/c…
- plugins.trac.wordpress.org/browser/short-comment-filter/trunk/v…
- www.wordfence.com/threat-intel/vulnerabilities/id/4ba46475-bf54…
Metrics
- CVSS 3.1
-
4.4
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:L/I:L/A:N - EPSS — exploit probability
- 0% percentile: 32 · as of 13 November 2026
- CWE
- CWE-79
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.