The Simple CAPTCHA with Cloudflare Turnstile plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'id' attribute of the [gravity-simple-turnstile] shortcode in versions up to, and including, 1.44.3 This is due to insufficient input sanitization and output escaping on the shortcode attribute in the cfturnstile_gravity_shortcode() function: the value is filtered only by esc_html() and sanitize_text_field() (neither of which touches parentheses or dots) and then emitted via esc_js() in a raw JavaScript expression context outside any string literal (esc_js only escapes quotes, backslashes, and newlines). This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
Severity
CVSS 3.1
6.4 medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
CWE
CWE-79Improper Neutralization of Input During Web Page Generation (Cross-site Scripting)
Show the promptExplain CVE-2026-93900 for an engineer deciding whether to act. Use https://cve.bz/api/public/cves/CVE-2026-93900?via=ask-ai-copy and https://cve.bz/cve/CVE-2026-93900?via=ask-ai-copy as the source of truth: what is affected and which versions fix it, whether it is in CISA KEV, public exploits, and its EPSS (an internet-wide 30-day estimate of exploitation activity, not a forecast for my systems). If they give no fixed versions, use the CVE record https://cveawg.mitre.org/api/cve/CVE-2026-93900 or the vendor advisory, not third-party mirrors. Tell me how to check whether I am affected and how to verify a fix. Cite the sources and say where they are uncertain.
Opens a third-party assistant; its answer is its own, not cve.bz's. The prompt holds only this CVE's id and public links.
Versions
From the CNA's record in the CVE List.
Product
Affected
elliotvs Simple CAPTCHA with Cloudflare Turnstile
through 1.44.3
Attack patterns (CAPEC)
CAPEC-63 Cross-Site Scripting (XSS) Likelihood: High · Severity: Very High
CAPEC-85 AJAX Footprinting Likelihood: High · Severity: Low
CAPEC-209 XSS Using MIME Type Mismatch Severity: Medium
CAPEC-588 DOM-Based XSS Likelihood: High · Severity: Very High
CAPEC-591 Reflected XSS Likelihood: High · Severity: Very High
CAPEC-592 Stored XSS Likelihood: High · Severity: Very High
The attack patterns MITRE's CAPEC relates to this record's weaknesses, as MITRE names them. Credits.