Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain contributor WordPress account
-
DeliveryInject JavaScript payload in image tag attribute
-
ExploitPublish post with injected content
-
ExecutionLazy Load Media processes unsanitized attribute on page render
-
PersistVictim browser executes attacker script
-
ImpactSession cookie or credential exfiltrated
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 | Two specific conditions must both be true simultaneously: (1) The attacker holds at minimum a contributor-level WordPress account on the target site - lower roles (subscriber, unauthenticated users) cannot inject content into posts processed by this code path. (2) The site administrator has explicitly enabled the 'Lazy Load Media' option within the Speed Optimizer plugin settings - this is a non-default configuration requiring deliberate admin action. If either condition is absent, the vulnerability is not exploitable. Exploitation is further limited to page loads by authenticated or unauthenticated site visitors who access a post or page containing the injected content; the attacker cannot force victims to load the page without separate social engineering. The CVSS PR:L metric confirms the authenticated contributor requirement; the description explicitly names the Lazy Load Media setting as the conditional gating factor. |
| Impact | The NVD-assigned CVSS 3.1 score of 6.4 (Medium) reflects network reachability (AV:N), low complexity (AC:L), low-privilege attacker (PR:L), and scope change (S:C), with partial confidentiality and integrity impact. However, the UI:N metric warrants scrutiny: stored XSS inherently requires a victim to load the injected page, making UI:R more technically accurate - a discrepancy that inflates the raw score slightly. Real-world risk is meaningfully constrained by two conditions operating in conjunction: the attacker must hold at least contributor-level WordPress credentials, and the site administrator must have explicitly enabled the Lazy Load Media feature. Neither condition is met by default in most deployments. No EPSS data was provided, no CISA KEV listing exists, and no public exploit code is referenced. Taken together, this is a medium-priority finding for organizations where contributor accounts are issued broadly (multi-author blogs, content agencies, SiteGround-hosted sites with Lazy Load enabled), but lower priority for tightly controlled installations or those not using Lazy Load. |
| Exploit ScenarioDerived | An attacker with a contributor-level WordPress account crafts a post or page containing an image element with a malicious JavaScript payload embedded in an attribute (e.g., a data attribute or event handler) processed by the plugin's Lazy Load logic. Once the post is published and a site visitor loads the page, the Speed Optimizer's Lazy Load Media feature emits the unsanitized attribute into the rendered HTML, causing the injected script to execute in the visitor's browser - enabling session cookie theft, credential harvesting, or account takeover against administrators. No public exploit code has been identified, but the vulnerability is straightforward for any contributor with knowledge of the affected code path. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 19, 2026
Stored Cross-Site Scripting in the SiteGround Speed Optimizer WordPress plugin (all versions through 7.8.0) allows authenticated contributors to inject persistent malicious JavaScript via unsanitized image tag attributes, executing in any visitor's browser upon page load. Exploitation is gated on the Lazy Load Media option being enabled in plugin settings, limiting but not eliminating real-world exposure across the large SiteGround-hosted WordPress ecosystem. No public exploit code has been identified and this vulnerability is not listed in CISA KEV; a patched release (7.8.1) is confirmed available via the WordPress plugin repository.
RemediationAI
Upgrade the Speed Optimizer plugin to version 7.8.1 or later; the fix is confirmed by the WordPress plugin repository changeset at https://plugins.trac.wordpress.org/changeset?reponame=&new=3642965%40sg-cachepress%2Ftags%2F7.8.1&old=3581843%40sg-cachepress%2Ftags%2F7.8.0, which documents the transition from 7.8.0 to 7.8.1. If immediate upgrade is not possible, disabling the Lazy Load Media option in the Speed Optimizer plugin settings eliminates the exploitable code path entirely, as the vulnerability is only reachable when that feature is active. This workaround has the trade-off of disabling image lazy loading, which may modestly increase page load times and bandwidth usage. Additionally, restricting contributor-level role assignment to trusted users reduces attacker surface. Vendor-released patch: 7.8.1.
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 resides in the plugin's Lazy Load subsystem, specifically in three files identified via WordPress Trac references: Lazy_Load_Images.php (line 31), Abstract_Lazy_Load.php (line 109), and Lazy_Load.php (line 39). The plugin slug is sg-cachepress, confirmed by CPE cpe:2.3:a:siteground:speed_optimizer_-_the_all-in-one_performance-boosting_plugin. CWE-79 (Improper Neutralization of Input During Web Page Generation - Stored XSS) identifies the root cause: user-controlled image tag attributes are processed through the Lazy Load pipeline without adequate sanitization before being written to page output. Because the CVSS vector carries S:C (scope changed), the injected script executes in the victim browser's security context, crossing the boundary between the WordPress origin and the user's session.
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:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Stored XSS requires victim page access (UI:R not UI:N); PR:L reflects mandatory contributor authentication; S:C captures cross-origin browser execution.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Speed Optimizer - The All-In-One Performance-Boosting Plugin plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Image Tag Attributes in all versions up to, and including, 7.8.0 due to insufficient input sanitization and output escaping. 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. This is only exploitable when the site administrator has enabled the Lazy Load Media option in the plugin 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 AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
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
EUVD-2026-62219
GHSA-8r64-rxjj-mp32
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB