← Back to CVE Explorer

CVE-2026-85655

Full vulnerability record from the local CVENow database.

Description

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.

Severity
MEDIUM
CVSS score
4.3 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-10-28 08:16:30.083000
Last modified
2026-11-04 23:10:00.223000
View original CVE JSON
{
  "id": "CVE-2026-85655",
  "sourceIdentifier": "[email protected]",
  "published": "2026-10-28T08:16:30.083",
  "lastModified": "2026-11-04T23:10:00.223",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "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."
    },
    {
      "lang": "es",
      "value": "El plugin Enable Media Replace para WordPress es vulnerable a una omisión de autorización en todas las versiones hasta la 4.2.2 incluida. Esto se debe a que el plugin no verifica correctamente que un usuario está autorizado para realizar una acción. Esto permite a atacantes autenticados, con acceso de nivel de autor y superior, modificar el post_content de cualquier entrada publicada que haga referencia al medio reemplazado - incluyendo entradas propiedad de Administradores - haciendo que los cambios sean inmediatamente visibles para visitantes no autenticados. El método doReplaceQuery() realiza una búsqueda y reemplazo en toda la base de datos en todas las entradas que contienen la URL del medio antiguo sin ninguna verificación de capacidad por entrada, lo que significa que una única solicitud iniciada por un Autor puede sobrescribir silenciosamente un gran número de entradas que la interfaz de usuario de administración estándar de WordPress y la API REST de otro modo prohibirían a ese usuario editar."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "shortpixel",
          "product": "Enable Media Replace",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "0",
              "lessThanOrEqual": "4.2.2",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N",
          "baseScore": 4.3,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "LOW",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 2.8,
        "impactScore": 1.4
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-10-29T01:28:20.530450Z",
          "id": "CVE-2026-85655",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-862"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/short-pixel-optimizer/enable-media-replace/releases/tag/v4.2.3",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/enable-media-replace/tags/4.1.9/build/shortpixel/replacer/src/Replacer.php#L250",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/enable-media-replace/tags/4.1.9/classes/Controller/ReplaceController.php#L253",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/enable-media-replace/tags/4.1.9/classes/ViewController/UploadViewController.php#L59",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/enable-media-replace/tags/4.1.9/classes/ViewController/UploadViewController.php#L66",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/enable-media-replace/tags/4.2.2/build/shortpixel/replacer/src/Replacer.php#L250",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/enable-media-replace/tags/4.2.2/classes/Controller/ReplaceController.php#L253",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/enable-media-replace/tags/4.2.2/classes/ViewController/UploadViewController.php#L59",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/enable-media-replace/tags/4.2.2/classes/ViewController/UploadViewController.php#L66",
      "source": "[email protected]"
    },
    {
      "url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/aff42473-63c6-41ca-8312-058f213e2302?source=cve",
      "source": "[email protected]"
    }
  ]
}