---
id: "CVE-2026-85655"
kind: "vulnerability"
aliases: ["CVE-2026-85655"]
title: "Enable Media Replace WordPress plugin lets authors edit any published post"
severity: "medium"
cvss: 4.3
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "self-hosted", "wordpress", "wordpress-plugins"]
not_affected_if: ["no-author-accounts", "plugin-updated"]
published_at: "2026-10-28T08:16:30+00:00"
first_seen_at: "2026-10-28T08:31:53+00:00"
updated_at: "2026-10-28T08:33:50+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-85655", "first_seen_at": "2026-10-28T08:31:53+00:00"}]
---

# Enable Media Replace WordPress plugin lets authors edit any published post

Enable Media Replace up to and including 4.2.2 skips per-post permission checks when replacing media, so an author-level account can rewrite post content across the site, including posts owned by administrators. The change appears immediately to unauthenticated visitors.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed version of the Enable Media Replace plugin in the WordPress admin under Plugins, or with `wp plugin get enable-media-replace --field=version`
- Review which accounts have author role or above and whether untrusted users can create content

## Fix

- Update Enable Media Replace to a version later than `4.2.2`
- Until updated, limit or remove author-level accounts that do not need them

## Timeline

- 2026-10-28T08:31:53+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-85655

## From the sources

The Enable Media Replace plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 4.2.2. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for authenticated attackers, with author-level access and above, to modify the post_content of any published post referencing the replaced media — including Administrator-owned posts — making changes immediately visible to unauthenticated visitors. The doReplaceQuery() method performs a database-wide search-and-replace across all posts containing the old media URL without any per-post capability check, meaning a single Author-triggered request can silently overwrite a large number of posts that WordPress's standard admin UI and REST API would otherwise forbid that user from editing.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
