Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as subscriber with delegated Analytics capability
-
DeliverySubmit script via seopress_google_analytics_matomo_id parameter
-
ExploitPayload stored unsanitized in plugin settings
-
ExecutionVictim (e.g. admin) loads affected page
-
ImpactInjected script executes in victim browser
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated account with subscriber-level access or above AND a non-default prerequisite: an administrator must have explicitly delegated the Analytics management capability to the Subscriber role via the plugin's Advanced > Security settings. Without that delegation, subscribers cannot reach the vulnerable 'seopress_google_analytics_matomo_id' setting and the flaw is not exploitable. The injected payload only triggers when a user subsequently views a page that renders the stored Matomo ID, so impact depends on a victim (ideally a higher-privileged user) visiting an affected page; this user-visit dependency plus the opt-in configuration are the primary factors limiting real-world exploitation. |
| Impact | This is a low-to-moderate priority issue despite being a stored XSS in a widely-installed plugin, and the CVSS base score of 4.9 (Medium) accurately reflects that. The CVSS vector CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N shows network reach with low attacker privileges (subscriber), but the High attack complexity (AC:H) is the decisive mitigating signal - it encodes the requirement that an administrator must first opt in to a non-default configuration (delegating the Analytics management capability to the Subscriber role). No EPSS score was provided, so exploitation probability cannot be quantified. The CVE is not listed in CISA KEV and no public exploit code is referenced, so exploitation status is 'no public exploit identified at time of analysis'. The scope-change flag (S:C) correctly reflects that injected script executes against other users (including administrators) browsing an affected page, which is the main reason this is not purely self-XSS. No signals conflict; all data points consistently to a real but conditionally-exploitable, configuration-dependent flaw rather than an urgent, broadly-exploitable one. The dependency on an opt-in capability delegation means real-world exposure is likely limited to a small subset of SEOPress installations. |
| Exploit ScenarioDerived | On a site where the administrator has used SEOPress's Advanced > Security settings to grant the Analytics management capability to the Subscriber role, a low-privileged subscriber submits a malicious script payload through the 'seopress_google_analytics_matomo_id' field. The payload is stored without proper sanitization and later executes in the browser of any user who views a page rendering that setting, potentially including an administrator, enabling session or account compromise. No public exploit code is referenced, and the High attack complexity reflects the required non-default capability delegation. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 03, 2026
Stored cross-site scripting in the SEOPress - AI SEO Plugin & On-site SEO for WordPress (all versions up to and including 10.2) lets authenticated attackers with subscriber-level access inject arbitrary web scripts through the 'seopress_google_analytics_matomo_id' setting, which then execute in the browser of any user who views a page rendering the stored Matomo ID. Exploitation is gated by a non-default prerequisite: an administrator must have explicitly delegated Analytics management capability to the Subscriber role via the plugin's Advanced > Security settings, without which subscribers cannot reach the vulnerable setting, and the injected payload only fires when a victim subsequently visits an affected page. No public exploit code or confirmed active exploitation (CISA KEV) has been identified at time of analysis, and the CVSS base score of 4.9 (Medium) reflects the opt-in configuration and user-visit dependency that limit real-world exploitation.
RemediationAI
Upstream fix available (commit/changeset); released patched version not independently confirmed. Apply the vendor changeset 3722789 (https://plugins.trac.wordpress.org/changeset?reponame=&old=3722789%40wp-seopress&new=3722789%40wp-seopress) or upgrade the SEOPress plugin to the first release after 10.2 once it is published, and verify the code in inc/functions/options-matomo.php (lines 193/197), src/Actions/Api/Options/AnalyticsSettings.php (line 90), and inc/admin/sanitize/Sanitize.php (line 183) reflects proper sanitization and escaping. As a compensating control, revoke the delegated Analytics management capability from the Subscriber role in the plugin's Advanced > Security settings - this removes the attacker's ability to reach the vulnerable 'seopress_google_analytics_matomo_id' field, at the cost of losing delegated analytics administration for subscriber-level users; alternatively, disable the Matomo analytics integration entirely if it is not in active use. If delegation must remain, ensure only fully trusted accounts hold subscriber-plus access, since any such account can store the payload, and monitor stored option values for the Matomo ID for unexpected script markup. Reference the vendor advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/e88ec391-8d1b-4544-a7d0-0ac156c91ba5?source=cve for updates.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a classic CWE-79 stored cross-site scripting issue arising from insufficient input sanitization and output escaping in the SEOPress WordPress plugin's Matomo analytics settings handling. The vulnerable parameter 'seopress_google_analytics_matomo_id' is accepted through the plugin's REST API options endpoint (src/Actions/Api/Options/AnalyticsSettings.php, line 90), passed through an insufficient sanitization routine (inc/admin/sanitize/Sanitize.php, line 183), and then rendered without proper HTML escaping in inc/functions/options-matomo.php (lines 193 and 197), allowing the stored value to break out of its intended context and inject script markup. The CVSS vector AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N indicates a network-reachable, low-privilege authenticated attack with high complexity (driven by the required capability delegation), no user interaction on the attacker's side for injection, but a scope change because the executed script runs in the security context of the victim's session (potentially escalating beyond the plugin's original scope). The affected product is identified by CPE cpe:2.3:a:rainbowgeek:seopress_-_ai_seo_plugin_&_on-site_seo, with EUVD tracking the range as 0 ≤ 10.2.
Know when Wordpress Plugin gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N
Subscriber account needed (PR:L); the required non-default capability delegation makes AC:H; stored script executes against other users (S:C) with limited C/I impact and no availability effect.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The SEOPress - AI SEO Plugin & On-site SEO plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'seopress_google_analytics_matomo_id' parameter in all versions up to, and including, 10.2 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This requires an administrator to have delegated the Analytics management capability to the Subscriber role via the plugin's Advanced > Security settings.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u
EUVD-2026-91912
GHSA-6948-vxg4-x6rj
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB