Skip to main content

Optimole WordPress Plugin CVE-2026-77365

| EUVDEUVD-2026-67398 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-08-28 Wordfence GHSA-r4gc-q6fw-m869
7.2
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify WordPress site with Optimole ≤4.2.10 active
  2. Delivery
    Send unauthenticated REST API request with XSS payload in 'a' parameter
  3. Exploit
    Payload persisted to WordPress database without sanitization
  4. Execution
    Victim (ideally administrator) navigates to injected page
  5. Persist
    Malicious script executes in victim's browser session
  6. Impact
    Hijack admin cookies or issue privileged API calls

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

The Optimole plugin must be installed and active on a WordPress site running version 4.2.10 or earlier. No attacker account or authentication is required to inject the payload - the vulnerable REST API endpoint accepts the 'a' (above_fold_images) parameter from unauthenticated requests. WordPress REST API access must be reachable over the network, which is the default configuration. After injection, a victim user must visit a page containing the stored payload for script execution to occur; impact scales with the victim's privilege level - exploitation against an administrator yields site-level compromise, while exploitation against a subscriber yields limited user-context impact. No non-default configuration is required to reach the vulnerable parameter.

Impact

The CVSS 7.2 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N) reflects a network-accessible, unauthenticated, low-complexity flaw with changed scope. The UI:N rating is arguably generous for stored XSS since a victim must actively visit the injected page - the CVSS attribution may reflect that no attacker-side interaction is required post-injection, but the exploit chain is not fully automated. Real-world risk is meaningful because Optimole has a notable WordPress install base, and because stored XSS payloads can target administrators, enabling privilege escalation to full site compromise. No CISA KEV listing and no POC are confirmed, which moderates urgency for organizations that cannot patch immediately. The S:C scope change accurately captures that the injected script executes in a different security context (the victim's authenticated browser session) than where the payload is stored.

Exploit ScenarioDerived

An unauthenticated attacker sends a crafted HTTP request to a WordPress site's Optimole REST API endpoint, embedding a JavaScript payload in the 'above_fold_images' parameter value. The payload is persisted to the WordPress database without sanitization. When a site administrator subsequently visits a page processed by Optimole, the stored script executes in their privileged browser session, enabling the attacker to exfiltrate the admin's authentication cookies or issue wp-admin API calls to create a backdoor account. No public exploit code has been identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 28, 2026

Stored Cross-Site Scripting in the Optimole image optimization plugin for WordPress (all versions through 4.2.10) allows unauthenticated network attackers to inject persistent JavaScript payloads via the 'above_fold_images' ('a') REST API parameter. Injected scripts execute in any visitor's browser upon accessing an affected page, enabling session hijacking, credential theft, or administrative account takeover. No public exploit code or CISA KEV listing has been identified at time of analysis; Wordfence reported the issue and a patch was confirmed in version 4.2.11.

RemediationAI

Vendor-released patch: version 4.2.11. Update the Optimole plugin to 4.2.11 or later immediately via the WordPress dashboard (Plugins → Updates) or by downloading directly from the WordPress plugin repository. The specific code-level fix is documented in the WordPress Trac changeset at https://plugins.trac.wordpress.org/changeset?old_path=%2Foptimole-wp/tags/4.2.10&new_path=%2Foptimole-wp/tags/4.2.11. If immediate patching is not possible, a WAF rule blocking script-tag patterns and HTML-encoded variants in the 'a' query parameter on Optimole REST API endpoints can reduce exposure, though this carries a risk of false positives that interfere with plugin functionality. Restricting REST API access to authenticated users only via a WordPress filter (rest_authentication_errors) is a stronger compensating control but will break the unauthenticated image-optimization feature.

Affected VersionsENISA

Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization 0 ≤4.2.10

Affected Packages

euvd optimole_optimize_images_convert_webp_avif_cdn_lazy_load_image_optimization no fix

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

Optimole is a WordPress image optimization plugin that exposes REST API endpoints for configuring image handling behaviors, including above-the-fold image processing. The vulnerability spans multiple source files: rest.php (lines 935 and 159), manager.php (line 468), and v2/PageProfiler/Profile.php (lines 485 and 189) across versions up to 4.2.10. In these files, the 'a' parameter value is accepted without adequate server-side sanitization and subsequently rendered into page output without proper HTML entity escaping. CWE-79 (Improper Neutralization of Input During Web Page Generation) captures this root cause: attacker-controlled input flows from a REST API parameter into persistent storage and then into the HTML DOM without breaking the script execution context, crossing trust boundaries from unauthenticated input to authenticated browser sessions.

Know when Optimole 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

Vendor (Wordfence) PRIMARY 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 6.1 MEDIUM

Stored XSS still requires a victim to visit the injected page (UI:R); all other metrics align with the vendor vector - unauthenticated network access, changed scope, low C/I impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

The Optimole - Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'a' (above_fold_images) parameter in all versions up to, and including, 4.2.10 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.

Executive ViewAI

Why It Matters

Optimole image optimization plugin for WordPress (versions through 4.2.10) contains a stored cross-site scripting vulnerability affecting all user browsers. Unauthenticated attackers can inject malicious JavaScript that persists across page views, enabling session hijacking, credential theft, and potential administrative account takeover. No public exploit identified at time of analysis, though the vulnerability affects all WordPress sites using affected versions and requires immediate remediation.

Business Impact: High
Compensating Controls

Vendor-released patch: 4.2.11.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Medium
widely-used WordPress image optimization plugin, significant active install base
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy