Read the docs

Stored cross-site scripting in SEOPress via Google Analytics settings

Priority LOW 28CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
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 SEOPress plugin for WordPress is affected up to and including 10.3. Missing input sanitization and output escaping of the affiliate and download tracking settings let injected script code reach the inline Google Analytics snippet (CWE-79). An authenticated user with Subscriber-level access or above, when an administrator has delegated the analytics capability, can inject scripts that run whenever a user opens an injected page.

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

Description from the CNA

The SEOPress – AI SEO Plugin & On-site SEO plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'seopress_google_analytics_affiliate_tracking' and 'seopress_google_analytics_download_tracking' settings in versions up to, and including, 10.3. This is due to insufficient input sanitization and output escaping on these settings as they are interpolated into the inline Google Analytics tracking snippet by seopress_google_analytics_js(): the affiliate value receives no sanitization at all (it is omitted from inc/admin/sanitize/Sanitize.php) and lands inside a <script> block, while the download value is only passed through sanitize_text_field() and lands inside a JavaScript regular-expression literal that preserves parentheses, semicolons and slashes. This makes it possible for authenticated attackers, with Subscriber-level access and above (where an administrator has delegated the SEOPress 'analytics' capability under Settings > Advanced > Security — the precondition Wordfence accepted for CVE-2026-101357), to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00201 10th 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
rainbowgeekSEOPress – AI SEO Plugin & On-site SEOup to 10.3—No fix listedCNA
  • SEOPress – AI SEO Plugin & On-site SEO Vendorrainbowgeek Affected up to 10.3 Fixed in — No fix listed CNA

Remediation

The sources list no fixed version for SEOPress (AI SEO Plugin & On-site SEO).

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

Timeline

  1. 2026-11-07 Threatist record created from CVE-2026-120515
  2. 2026-11-07 Alias added: GHSA-6rj2-cjrv-wr38
  3. 2026-11-07 CISA SSVC decision points changed
  4. 2026-11-07 Priority changed: MEDIUM → LOW

References

  • TI-2023-01566 SEOPress < 6.5.0.3 - Admin+ PHP Object Injection CVSS 3.1HIGH 7.2
  • TI-2024-05099 SEOPress < 7.9 - Unauthenticated Object Injection CVSS 3.1CRITICAL 9.8
  • TI-2023-05773 WP SEO Press < 7.3 - Admin+ Stored XSS CVSS 3.1MEDIUM 4.8
  • TI-2024-33888 WordPress SEOPress plugin <= 8.1.1 - Broken Access Control vulnerability CVSS 3.1HIGH 8.8
  • TI-2024-33887 WordPress SEOPress plugin <= 8.1.1 - Broken Access Control vulnerability CVSS 3.1HIGH 8.8
  • TI-2026-67444 SEOPress <= 10.2 - Unauthenticated Stored Cross-Site Scripting via Author Display Name CVSS 3.1HIGH 7.2
See all 16 →

Sources