CVE-2026-96564 in SEOPress Plugin
Summary
by MITRE • 10/03/2026
The SEOPress – AI SEO Plugin & On-site SEO plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Author Display Name in all versions up to, and including, 10.2 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Exploitation requires the 'Track Authors' custom dimension to be configured in the plugin's Google Analytics 4 or Matomo settings, and the attacker must be able to publish public singular content (e.g., via bbPress forum topics) so that the injected display name is rendered in the tracking script.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Analysis
by VulDB Data Team • 10/03/2026
The SEOPress WordPress plugin, a widely utilized tool for on-site search engine optimization and AI-driven SEO enhancements, contains a critical security flaw affecting all versions up to 10.2. This vulnerability manifests as a Stored Cross-Site Scripting (XSS) issue specifically tied to the Author Display Name field within the plugins tracking mechanisms. The root cause lies in insufficient input sanitization and output escaping when handling user-provided data that is subsequently rendered in web pages. Unlike reflected XSS, where malicious scripts are executed immediately upon request, this stored variant persists on the target server because the injected payload is saved as part of the content or metadata associated with a post or author profile. Consequently, every time an authenticated administrator or any other user views a page containing the compromised data, the embedded script executes within their browser session under the context of that site.
The operational impact of this vulnerability is significant due to its potential for widespread exploitation and persistent access. An unauthenticated attacker can inject arbitrary web scripts by leveraging specific configuration settings within SEOPress. Specifically, the Track Authors custom dimension must be enabled in either Google Analytics 4 or Matomo integration settings for the attack vector to function. Furthermore, the attacker requires the ability to publish public singular content, such as forum topics via bbPress or standard blog posts, which ensures that their malicious display name is rendered publicly and included in the tracking script output. Once executed, these scripts can perform a variety of malicious actions including session hijacking by stealing cookies or authentication tokens, defacing websites through DOM manipulation, redirecting users to phishing sites, or installing keyloggers to capture sensitive credentials entered on the compromised site.
From a classification perspective, this vulnerability aligns with CWE-79 Improper Neutralization of Input During Web Page Generation commonly known as Cross-site Scripting and more specifically CWE-83 Persistent Stored XSS where malicious scripts are permanently stored within target databases or content management systems. In terms of adversary tactics, the exploitation path corresponds to ATT&CK technique T1059 Command and Control via Application Layer Protocol if used for beaconing, but primarily aligns with T1189 Drive-by Compromise when targeting visitors who view the infected pages without direct interaction beyond viewing. The persistence mechanism relies on the continuous rendering of stored data in analytics scripts which are often loaded early in page load sequences increasing exposure risk.
Mitigation strategies must address both immediate remediation and long-term security hygiene. Administrators should immediately update SEOPress to version 10.3 or later where input sanitization and output escaping have been properly implemented for the Author Display Name field. If updating is not feasible, temporary workarounds include disabling the Track Authors custom dimension in Google Analytics 4 or Matomo settings within the plugin configuration which effectively neutralizes the specific attack vector described until a patch can be applied. Additionally implementing Content Security Policy headers can help mitigate some impacts by restricting script execution sources although this does not fix the underlying flaw. Regular security audits and code reviews focusing on data handling practices especially around user-generated content displayed in analytics or tracking contexts are recommended to prevent similar vulnerabilities from arising in future updates.