Una falla crítica en el plugin WPvivid Backup & Migration para WordPress permite a un atacante no autenticado subir archivos arbitrarios y ejecutar código en el servidor, lo que puede derivar en la toma total del sitio (full site takeover).
Resumen técnico
|
Campo |
Detalle |
|---|---|
|
Vulnerabilidad |
Subida arbitraria de archivos sin autenticación → RCE |
|
CVE / CVSS |
CVE-2026-1357 / 9.8 (Crítica) |
|
Versiones afectadas |
≤ 0.9.123 |
|
Versión corregida |
0.9.124 |
|
Condición de explotación |
Función “Receive backup from another site” habilitada con clave activa (expira máx. 24h) |
|
Superficie de ataque |
Endpoint asociado a wpvivid_action=send_to_site |
|
Causa raíz |
Manejo incorrecto de errores en RSA + path traversal por nombres no sanitizados |
Detalle técnico de la explotación
La vulnerabilidad combina dos problemas:
1️⃣ Error criptográfico (RSA + AES/Rijndael)
Cuando falla la desencriptación RSA durante el procesamiento del mensaje, el código no detiene la ejecución.
En su lugar, continúa utilizando un valor false como clave, que en la práctica se convierte en una clave predecible compuesta por bytes nulos en la rutina AES/Rijndael.
Esto permite que un atacante:
-
Construya datos cifrados que el servidor aceptará.
-
Evite validaciones criptográficas reales.
-
Controle el contenido del archivo subido.
2️⃣ Manejo inseguro de rutas de archivo
El plugin aceptaba nombres de archivo provenientes del payload desencriptado sin sanitización adecuada.
Esto habilita:
-
Directory traversal
-
Escritura fuera del directorio previsto de backups
-
Colocación de archivos .php en ubicaciones accesibles vía web
Resultado: ejecución remota de código (RCE).
Condición clave para el riesgo
La explotación solo es viable si:
-
Está habilitada la función “Receive a backup from another site”
-
Se ha generado una clave activa
-
La clave aún no expiró (máximo 24 horas)
Aunque la función está deshabilitada por defecto, cualquier sitio que la haya activado temporalmente queda expuesto durante la ventana de validez.
Corrección aplicada en 0.9.124
La versión 0.9.124 implementa:
-
Detención inmediata del procesamiento si la clave desencriptada es false o vacía.
-
Restricción estricta de extensiones permitidas (zip, gz, tar, sql).
-
Mejoras en validación de rutas y nombres de archivo.
Recomendaciones para administradores
Si administras WordPress (especialmente en entornos productivos o multisitio):
-
Actualizar inmediatamente a 0.9.124 o superior.
-
Deshabilitar la función de recepción de backups si no es necesaria.
-
Rotar cualquier clave generada previamente.
-
Revisar el webroot y uploads en busca de:
-
Archivos .php inesperados
-
Fechas de modificación coincidentes con ventanas donde la clave estuvo activa
-
-
Revisar logs de acceso buscando requests con:
wpvivid_action=send_to_site
-
Considerar WAF con reglas específicas para bloquear uploads sospechosos.
Impacto potencial
Dado el vector:
-
No requiere autenticación.
-
Permite ejecución remota.
-
Puede derivar en instalación de webshells.
El impacto típico incluye:
-
Compromiso total del sitio.
-
Inyección de malware.
-
Redirecciones SEO maliciosas.
-
Robo de credenciales.
-
Movimiento lateral en servidores compartidos.






