Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-66066

CVE-2025-66066: Envo Extra Stored XSS Vulnerability

CVE-2025-66066 is a stored cross-site scripting vulnerability in the Envo Extra WordPress plugin that enables attackers to inject malicious scripts. This article covers technical details, affected versions, and remediation.

Published:

CVE-2025-66066 Overview

CVE-2025-66066 is a stored Cross-Site Scripting (XSS) vulnerability in the EnvoThemes Envo Extra WordPress plugin. The flaw exists in envo-extra versions up to and including 1.9.11. Attackers with low-privilege authenticated access can inject persistent JavaScript payloads that execute in the browsers of users who view affected pages. The issue is classified as Improper Neutralization of Input During Web Page Generation [CWE-79]. Because the vulnerability crosses a security scope boundary, injected scripts can affect site visitors and administrators alike, enabling session theft, content manipulation, and redirection to attacker-controlled resources.

Critical Impact

Authenticated attackers can store malicious scripts that execute in other users' browsers, leading to session hijacking, credential theft, and administrative account takeover on affected WordPress sites.

Affected Products

  • EnvoThemes Envo Extra plugin for WordPress
  • Envo Extra versions from unspecified initial release through 1.9.11
  • WordPress sites using the envo-extra plugin as a companion to EnvoThemes themes

Discovery Timeline

  • 2025-11-21 - CVE-2025-66066 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-66066

Vulnerability Analysis

The vulnerability results from improper neutralization of user-supplied input during web page generation within the Envo Extra plugin. Input passed to plugin-controlled fields is rendered into HTML output without adequate sanitization or contextual output encoding. An authenticated user with low privileges can submit crafted payloads containing HTML and JavaScript that persist in the WordPress database. When another user later loads a page that renders this content, the browser executes the attacker's script in the context of the site.

Exploitation requires user interaction to trigger the payload, such as viewing a post, widget, or dashboard element populated with injected content. The scope change indicated by the CVSS vector reflects that scripts executing in the victim's browser can affect resources beyond the vulnerable component itself, including authenticated sessions on the WordPress domain.

Root Cause

The root cause is missing or insufficient input sanitization in the envo-extra plugin code paths that accept content from lower-privileged users and render it in HTML contexts. WordPress provides helper functions such as wp_kses_post() and esc_html() for safely handling such content, but the affected versions fail to apply appropriate escaping before output. As a result, HTML control characters and <script> tags survive the storage-to-render pipeline intact.

Attack Vector

An authenticated attacker with contributor-level or similar low privileges submits content containing a JavaScript payload through a vulnerable plugin field. The payload is stored in the WordPress database. When an administrator or another site user views the page containing the stored content, the injected script executes with the privileges of the viewing user's session. Attackers can use this to exfiltrate cookies, perform actions on behalf of administrators, inject additional malware, or redirect visitors to phishing pages. The Patchstack advisory documents the vulnerable code path and payload requirements.

Refer to the Patchstack WordPress Vulnerability Report for technical specifics on the affected parameter and payload structure.

Detection Methods for CVE-2025-66066

Indicators of Compromise

  • Unexpected <script> tags, on* event handlers, or javascript: URIs stored in WordPress post, widget, or plugin option tables
  • Outbound HTTP requests from administrator browsers to unfamiliar domains shortly after visiting content authored by low-privileged users
  • New administrator accounts, modified user roles, or altered plugin settings created without corresponding audit-log activity
  • Presence of the envo-extra plugin at version 1.9.11 or earlier in the WordPress plugins directory

Detection Strategies

  • Query the wp_posts, wp_postmeta, and wp_options tables for stored content containing <script, onerror=, onload=, or encoded variants
  • Monitor WordPress access logs for POST requests to plugin endpoints from contributor or author accounts followed by administrator GET requests to the same resources
  • Use web application firewall rules that inspect stored content rendering for XSS signatures on pages generated by envo-extra

Monitoring Recommendations

  • Enable WordPress audit logging to record content submissions, plugin configuration changes, and role modifications
  • Alert on anomalous administrator session activity such as unexpected user creation or plugin installation following page views
  • Track plugin inventory across managed WordPress sites and flag installations of envo-extra at or below version 1.9.11

How to Mitigate CVE-2025-66066

Immediate Actions Required

  • Update the Envo Extra plugin to a version above 1.9.11 once a patched release is available from EnvoThemes
  • Audit all content submitted by contributor, author, and editor accounts for stored script payloads and remove malicious entries
  • Rotate WordPress administrator passwords and invalidate active sessions if compromise is suspected
  • Review recently created user accounts and remove any that were not authorized

Patch Information

At the time of publication, the vendor advisory tracked by Patchstack lists all versions through 1.9.11 as affected. Site administrators should monitor the Patchstack WordPress Vulnerability Report and the official EnvoThemes plugin page for the patched release, and apply it as soon as it becomes available.

Workarounds

  • Deactivate and uninstall the Envo Extra plugin until a fixed version is released if the affected functionality is not business-critical
  • Restrict contributor and author account creation and require manual review of low-privileged user submissions before publication
  • Deploy a web application firewall with rules that block XSS payloads targeting WordPress plugin endpoints
  • Enforce a strict Content Security Policy that disallows inline scripts to limit the impact of successful injection
bash
# Content Security Policy header example for WordPress via .htaccess
Header set Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'self'"

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.