
CVE-2026-1357
800%2C000-brightgreen?style=for-the-badge" alt="Installs">
Vulnerabilidad crítica que afecta a más de 800 000–900 000+ sitios WordPress
Subida arbitraria de PHP no autenticada → compromiso total del servidor
CVE-2026-1357 (CVSS 9.8 – Crítico) afecta al plugin Migration, Backup, Staging – WPvivid Backup & Migration (≤ 0.9.123).
La vulnerabilidad reside en la función opcional del plugin "recibir copia de seguridad desde otro sitio" (a través de wpvivid_action=send_to_site). Cuando está habilitada, un atacante no autenticado puede subir archivos arbitrarios —siendo los más peligrosos los webshells PHP— a ubicaciones accesibles desde la web, como /wp-content/uploads/.
→ El atacante crea un payload cifrado con la clave nula → elude la "autenticación" → escribe un archivo .php en cualquier ubicación escribible.
www-data)Nota: La explotación requiere que la función "recibir copia de seguridad" esté habilitada (no es la opción predeterminada) y un token de API válido/no caducado (vigencia máxima de 24 horas).
| Fecha |
|---|
Acción inmediata
Actualiza a WPvivid Backup & Migration ≥ 0.9.124 (correcciones: manejo adecuado de los fallos de descifrado, saneamiento de nombres de archivo y restricciones de tipos de archivo).
Mitigaciones temporales (si la actualización se retrasa):
/wp-admin/admin-ajax.php con action=wpvivid_send_to_site (mediante WAF / .htaccess)Comprobaciones posteriores al incidente
.php sospechosos en /wp-content/uploads/ (y otros directorios escribibles)admin-ajax.phpBuenas prácticas generales
Aviso de Wordfence (divulgación detallada)
Plantilla de Nuclei: oficial en projectdiscovery/nuclei-templates (añadida en v10.4.0)
Parchea pronto • Parchea a menudo • Mantente seguro
| # | Tipo de problema | Componente | Descripción |
|---|
| 1 | Fallo criptográfico fail-open | class-wpvivid-crypt.php | Si openssl_private_decrypt() falla devolviendo false → phpseclib AES lo trata como una clave de todos bytes nulos (16×0x00 predecible) |
| 2 | Path Traversal / Sin saneamiento | class-wpvivid-send-to-site.php | El nombre de archivo del payload descifrado se usa sin sanear → el traversal ../ escapa del directorio de copias a la raíz web |
| Evento |
|---|
| 12 ene 2026 | Reportado a Wordfence por Lucas Montes (NiRoX) |
| 28 ene 2026 | El proveedor publica la versión corregida 0.9.124 |
| 11 feb 2026 | CVE publicado oficialmente (NVD) |
| feb 2026 | Aparecen PoC públicos y scripts de explotación (GitHub, blogs) |
| mar 2026 | Plantilla de Nuclei añadida al repositorio oficial (v10.4.0); puntuación EPSS alta |