Skip to main content

Enable Media Replace CVE-2025-9496

MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2025-10-11 security@wordfence.com
6.4
CVSS 3.1 · Vendor: wordfence
View

Attack ChainAIDerived

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

  1. Access
    Obtain contributor-level account
  2. Delivery
    Insert file_modified shortcode with crafted attribute
  3. Exploit
    Stored payload rendered unsanitized on page
  4. Execution
    Script executes in victim's authenticated session
  5. Impact
    Hijack admin session or inject content

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

Requires an authenticated account with contributor-level capability or above (PR:L) on the target WordPress site running Enable Media Replace ≤4.1.6, and the ability to use the plugin's file_modified shortcode, whose user-supplied attributes are insufficiently sanitized/escaped. Exploitation is further limited by the need for a victim (admin or other user) to subsequently view the page containing the injected shortcode for the stored script to execute; sites that do not grant untrusted users contributor access are not realistically exposed.

Impact

This is a moderate-risk, authenticated Stored XSS (CVSS 6.4, CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N) rather than a top-tier emergency. The network vector and low attack complexity are offset by the PR:L requirement - the attacker must already hold a contributor-level (or higher) WordPress account, which meaningfully narrows the threat population to users who can author content. The scope change (S:C) and low confidentiality/integrity impacts reflect that injected script executes in other users' browser sessions (e.g. admins/visitors viewing the page), the classic stored-XSS blast radius. Exploitation signals are low and consistent: EPSS is 0.24% (14th percentile), the CVE is NOT in CISA KEV, and no public exploit code is referenced - no public exploit identified at time of analysis. None of the signals conflict; they jointly indicate a real-but-non-urgent issue that should be patched on a normal cycle, prioritized higher only on multi-author/membership sites where untrusted users hold contributor accounts.

Exploit ScenarioDerived

An attacker who has registered or obtained a contributor-level account on a WordPress site embeds the Enable Media Replace file_modified shortcode with a malicious attribute value containing JavaScript. When an administrator or other user later views the page containing that shortcode, the unsanitized attribute renders and the script executes in their authenticated session. No public exploit code is referenced; exploitation requires the low-complexity, remote-but-authenticated access described by the CVSS vector.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 08, 2026

Stored cross-site scripting in the Enable Media Replace WordPress plugin affects all versions up to and including 4.1.6, allowing authenticated users with contributor-level access or above to inject arbitrary JavaScript into pages through the plugin's [file_modified] shortcode, whose attributes are insufficiently sanitized and escaped. The injected script executes when any user - including administrators - subsequently views the affected page, though exploitation requires a victim to load that page and sites that do not grant contributor access to untrusted users are not realistically exposed. No public exploit code has been identified at time of analysis, this CVE is not in CISA KEV, and the EPSS score is low at 0.24% (14th percentile), consistent with a moderate-risk authenticated issue rather than an emergency.

RemediationAI

Apply the upstream plugin fix: the referenced WordPress Trac changeset (3371681 for enable-media-replace) addresses the sanitization/escaping of the [file_modified] shortcode attributes, so administrators should update Enable Media Replace to the first released version that includes that change - patch status is 'upstream fix available (PR/commit); released patched version not independently confirmed', so verify the current changelog at https://wordpress.org/plugins/enable-media-replace/ before assuming a given release is clean. Where updating immediately is not possible, compensating controls include restricting or temporarily removing contributor-level and higher accounts on sites that must keep the vulnerable version, and reviewing stored content for unexpected [file_modified] shortcode usage; note the trade-off that revoking contributor roles disrupts legitimate editorial workflows. Disabling the plugin outright eliminates the shortcode entirely but also removes media-replacement functionality, and adding a WordPress WAF or output-escaping filter that strips script/HTML from shortcode attributes can block payloads at the cost of possible false positives on legitimate markup. Consult the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/07aafbe4-d2ac-4cc3-beb4-37e681ed5285) for the vendor-published fix guidance.

Affected ProductsAI

The Enable Media Replace plugin for WordPress is affected in all versions up to and including 4.1.6, the version named in the CVSS and the plugin repository tag referenced in the advisory (CPE-style identification: WordPress plugin enable-media-replace, vendor/plugin page https://wordpress.org/plugins/enable-media-replace/). The vulnerable code path is documented at https://plugins.trac.wordpress.org/browser/enable-media-replace/tags/4.1.6/classes/emr-plugin.php#L645, and the associated fix changeset is recorded at https://plugins.trac.wordpress.org/changeset?old=3371681%40enable-media-replace&new=3371681%40enable-media-replace. The vendor-agnostic tracking advisory is the Wordfence threat-intel entry https://www.wordfence.com/threat-intel/vulnerabilities/id/07aafbe4-d2ac-4cc3-beb4-37e681ed5285. Any WordPress site running the plugin at or below 4.1.6 and permitting contributor-level or higher accounts is in scope.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability is a classic CWE-79 cross-site scripting flaw rooted in the WordPress shortcode API. WordPress shortcodes accept user-supplied attributes that the plugin is responsible for sanitizing on input and escaping on output; Enable Media Replace registers a [file_modified] shortcode and, per the referenced source (classes/emr-plugin.php, line 645 in tag 4.1.6), fails to do so adequately. Because shortcode output is rendered into stored post/page content, the payload persists in the database and is served to every viewer, making it a stored (persistent) XSS rather than a reflected one. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N reflects network-reachable exploitation, low attack complexity, low privileges required (PR:L, matching the contributor-level requirement), and a scope change (S:C) because injected script executes in the context of other users' sessions and the hosting WordPress site rather than the attacker's own. Reported by Wordfence and tagged for WordPress/XSS, the affected component is the Enable Media Replace plugin distributed through the official WordPress plugin repository.

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

Vendor (wordfence) PRIMARY 6.4 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 6.4 MEDIUM

Contributor authentication is required so PR:L; stored XSS executing in other users' browsers is a scope change (S:C) with low C/I and no availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/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
Low
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

The Enable Media Replace plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's file_modified shortcode in all versions up to, and including, 4.1.6 due to insufficient input sanitization and output escaping on user supplied attributes. 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.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Medium
popular but single-purpose WordPress media plugin, not core platform
Data Quality
3 sources
Confidence: Low

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
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.

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-5084 CRITICAL POC
9.8 May 23

The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil

CVE-2024-44000 CRITICAL POC
9.8 Oct 20

Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote

CVE-2020-36847 CRITICAL POC
9.8 Jul 12

The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner

CVE-2025-11749 CRITICAL POC
9.8 Nov 05

The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint

CVE-2025-27007 CRITICAL POC
9.8 May 01

The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut

CVE-2016-1209 CRITICAL POC
9.8 May 14

The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via

CVE-2024-4443 CRITICAL POC
9.8 May 22

The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based

CVE-2024-1698 CRITICAL POC
9.8 Feb 27

SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a

CVE-2023-6875 CRITICAL POC
9.8 Jan 11

The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i

CVE-2024-1512 CRITICAL POC
9.8 Feb 17

The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base

CVE-2024-4295 CRITICAL POC
9.8 Jun 05

The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in

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