| Nombre del plugin | Respaldo Everest |
|---|---|
| Tipo de vulnerabilidad | Fallo de autorización |
| Número CVE | CVE-2025-11380 |
| Urgencia | Medio |
| Fecha de publicación de CVE | 2025-10-10 |
| URL de origen | CVE-2025-11380 |
Aviso de seguridad urgente — Plugin Everest Backup (≤ 2.3.5) — Falta de autorización permite la exposición no autenticada de información (CVE-2025-11380)
Autor: Equipo de expertos en seguridad de Hong Kong
Fecha: 2025-10-10
Análisis técnico, evaluación de riesgos y consejos de mitigación paso a paso para la vulnerabilidad del plugin Everest Backup (≤ 2.3.5). Dureza práctica, consejos de detección y orientación sobre respuesta a incidentes.
Resumen
- Se ha divulgado una vulnerabilidad de control de acceso roto que afecta a las versiones del plugin Everest Backup de WordPress ≤ 2.3.5 (CVE-2025-11380).
- Impacto: atacantes no autenticados pueden acceder a funcionalidades o información sensible del plugin sin las verificaciones de autorización requeridas, exponiendo potencialmente metadatos de respaldo o archivos de respaldo descargables.
- Severidad: Media (CVSS 5.9).
- Corregido en: 2.3.6.
- Acción requerida: Actualizar a Everest Backup v2.3.6 de inmediato. Si no puede actualizar de inmediato, aplique las mitigaciones a continuación.
Este aviso es preparado por un equipo de seguridad con sede en Hong Kong con experiencia en endurecimiento de WordPress y respuesta a incidentes. Nuestro objetivo es proporcionar pasos claros y prácticos para proteger sitios, además de orientación sobre detección y recuperación.
Antecedentes — qué hace este plugin y por qué el problema es importante
Everest Backup ayuda a los propietarios de sitios de WordPress a crear y gestionar copias de seguridad del sitio. Los plugins de respaldo manejan datos extremadamente sensibles: volcado completo de la base de datos, contenidos de wp-config.php, archivos subidos y a veces claves de cifrado o credenciales de servicio. Cualquier fallo que permita el acceso no autenticado a operaciones de respaldo o listados de archivos de respaldo es particularmente de alto riesgo porque las copias de seguridad a menudo contienen todo lo necesario para restaurar completamente — y en manos equivocadas, para tomar el control — de un sitio.
Una vulnerabilidad de control de acceso roto (falta de autorización) significa que una solicitud a un punto final del plugin (REST, AJAX o URL directa) no verifica que el solicitante esté autorizado para realizar la operación o ver el recurso. Cuando esto ocurre para funcionalidades relacionadas con el respaldo, un atacante a menudo puede enumerar o descargar archivos de respaldo, o aprender metadatos que ayudan a ataques posteriores.
Lo que sabemos sobre la vulnerabilidad
- Un fallo en Everest Backup (≤ 2.3.5) permite que solicitudes no autenticadas accedan a datos o funcionalidades que deberían estar restringidas.
- La vulnerabilidad se clasifica como Control de Acceso Roto (OWASP A5).
- El autor del plugin lanzó un parche en la versión 2.3.6 que añade las verificaciones de autorización requeridas.
- La vulnerabilidad fue asignada como CVE-2025-11380 y un CVSS de 5.9 (Media).
- Privilegio requerido: ninguno — el atacante puede estar no autenticado (internet público).
Nota: Los detalles específicos de implementación interna (nombres exactos de los puntos finales, nombres de parámetros) pueden variar según la versión del plugin; el problema principal son los controles de autorización faltantes alrededor de los puntos finales de recursos de respaldo. Trata todas las solicitudes públicas a los puntos finales de respaldo como potencialmente vulnerables hasta que se parcheen.
Escenarios de impacto realistas
- Descargando copias de seguridad completas: Los archivos de respaldo pueden contener la base de datos (incluidos los hashes de usuario, sales, claves API), wp-config.php (credenciales de base de datos, sales, claves de terceros), archivos de la biblioteca de medios y otro contenido sensible. El acceso a esto equivale a una violación completa del sitio en muchos casos.
- Reconocimiento: Incluso si las descargas directas no están expuestas, un atacante puede enumerar los nombres de archivo de respaldo, marcas de tiempo y tamaños, revelando cambios recientes, cronologías administrativas o archivos de interés.
- Fugas de información: Los metadatos de respaldo (rutas, URLs de staging, rutas del servidor, indicadores de entorno) pueden habilitar ataques dirigidos y escalada de privilegios.
- Encadenamiento con otras vulnerabilidades: Los archivos de respaldo expuestos que contienen credenciales facilitan el ataque a otros servicios (base de datos, integraciones de terceros, buckets de S3, etc.).
- Daño a la reputación / cumplimiento: La exposición de datos de clientes o información personal identificable en los respaldos puede desencadenar incidentes de cumplimiento de GDPR/u otros.
Debido a que esta vulnerabilidad no requiere autenticación, la superficie de ataque es amplia y el escaneo automatizado podría detectar sitios no parcheados rápidamente.
Cómo verificar si su sitio está afectado
-
Verifica el plugin y la versión
En el administrador de WordPress: Plugins → Plugins instalados → busca “Everest Backup”. Confirma la versión. Si no puedes acceder a wp-admin, verifica el directorio del plugin en el sistema de archivos (wp-content/plugins/everest-backup/) y abre el encabezado del plugin en el archivo PHP principal para verificar la versión.
-
Busca puntos finales y archivos públicos
Busca en tu sitio archivos y puntos finales que coincidan con la carpeta del plugin: solicitudes bajo
/wp-content/plugins/everest-backup/o cualquier punto final que incluyaeverest,ebackup,copia de seguridad, etc. Inspecciona la API REST de tu sitio en busca de rutas de plugins (/wp-json/...) que incluyen nombres relacionados con copias de seguridad. -
Auditar los registros del servidor en busca de solicitudes sospechosas
Buscar solicitudes GET/POST inusuales a puntos finales relacionados con copias de seguridad desde IPs desconocidas; solicitudes que intentan descargar
.zip,.sql,.tar,.gzarchivos o incluyen parámetros comodescargar,archivo,ruta, oid_respaldo; y sondeos repetidos de escáneres que buscan puntos finales de plugins. -
Verificar si hay filtraciones existentes
Intenta acceder a cualquier URL de descarga de copias de seguridad (si encuentras alguna) utilizando un navegador en modo incógnito o curl, pero haz esto solo desde entornos de prueba aprobados por el administrador. Si la descarga funciona sin iniciar sesión, estás expuesto.
Si encuentras evidencia de acceso no autorizado o descargas desconocidas, trata el sitio como potencialmente comprometido y sigue los pasos de respuesta a incidentes a continuación.
Acciones inmediatas — 0–24 horas (prioridad)
- Actualiza Everest Backup a 2.3.6 (o la última versión)
Esta es la solución definitiva. Usa el administrador de WordPress Plugins → Actualizar, o actualiza a través de SFTP subiendo los archivos del plugin parcheado. Haz una copia de seguridad de tu sitio primero (crea un snapshot de copia de seguridad fuera del sitio) antes de actualizar si es posible.
- Si no puedes actualizar de inmediato, desactiva el plugin
Como una solución temporal, desactiva el plugin Everest Backup para prevenir la explotación. Nota: la desactivación detiene las copias de seguridad programadas y podría afectar las opciones de restauración.
- Aplica controles a nivel de servidor o reglas de WAF como un parche virtual temporal
Si ejecutas un Firewall de Aplicaciones Web (WAF) o tienes acceso a reglas a nivel de servidor, bloquea las solicitudes que coincidan con puntos finales/patrones de copias de seguridad (ver reglas de ejemplo a continuación). Estas son mitigaciones temporales mientras actualizas.
- Restringe el acceso directo a los archivos de copia de seguridad
Si las copias de seguridad se almacenan en directorios accesibles por la web (por ejemplo, wp-content/uploads/ o carpeta de plugins), agrega reglas del servidor para denegar el acceso público, o mueve las copias de seguridad a una ubicación de almacenamiento no pública (S3, SFTP remoto, almacenamiento fuera del sitio).
- Monitorea los registros y escanea en busca de compromisos.
Revisa inmediatamente los registros de acceso en busca de intentos de descarga o acceso exitoso a
.zip/.sqlarchivos. Usa escáneres de malware para buscar indicadores de compromiso.
Ejemplo de mitigaciones temporales de firewall y servidor web.
A continuación se presentan ejemplos que puedes adaptar. Prueba en un entorno de pruebas antes de implementar en producción.
Apache (.htaccess)
# Denegar el acceso directo a la carpeta del plugin Everest Backup.
Nginx
location ~* /wp-content/(uploads|plugins)/.*\.(zip|sql|tar|gz|7z)$ {
ModSecurity (regla de ejemplo).
# Bloquear solicitudes que intenten descargar archivos de respaldo o que contengan puntos finales de respaldo."
Advertencia: estas son mitigaciones temporales; no deben reemplazar la actualización del plugin.
Procedimiento de actualización seguro (recomendado).
- Realiza una copia de seguridad completa fuera del sitio (separada del plugin) — para recuperación si algo sale mal durante las actualizaciones.
- Pon el sitio en modo de mantenimiento o limita el acceso a los administradores.
- Actualiza el plugin a través de wp-admin: Plugins → Actualizar.
- Si actualizas a través de SFTP:
- Descarga el último paquete del plugin desde la fuente oficial.
- Reemplaza la carpeta del plugin con cuidado. Asegúrate de que los permisos y la propiedad sean correctos.
- Después de la actualización:
- Prueba la funcionalidad del front-end y del administrador.
- Verifique las copias de seguridad programadas y la configuración de los complementos. Asegúrese de que las ubicaciones de las copias de seguridad sean correctas y no públicas.
- Vuelva a escanear el sitio con un escáner de malware y revise los registros recientes en busca de comportamientos inusuales.
Guía de detección: qué buscar en los registros y la monitorización
- Solicitudes GET/POST no autenticadas a directorios de complementos o rutas que contengan “everest”, “backup”, “ebackup”, etc.
- Solicitudes con parámetros como
descargar,archivo,copia de seguridad,id_respaldo,action=descargaro similar. - Conexiones salientes repentinas a hosts externos desconocidos (si el atacante exfiltra copias de seguridad).
- Respuestas HTTP que devuelven archivos de archivo (200 con tipo de contenido
application/zip,application/x-gzip) para solicitudes no autenticadas. - Nuevos usuarios administradores creados después de la fecha de divulgación, o cambios en la tabla de opciones de WordPress.
- Cambios de integridad: marcas de tiempo de archivos centrales modificadas, nuevos archivos php en cargas, o eventos cron sospechosos.
Si ve alguna de estas señales, trate la situación como un posible compromiso y siga los pasos de respuesta a incidentes.
Respuesta a incidentes: si estuvo expuesto o se accedió a copias de seguridad descargadas
- Aislar — Tome temporalmente el sitio fuera de línea o restrinja el tráfico a IPs de administrador conocidas. Prevenga más filtraciones de datos.
- Preservar evidencia — Haga copias de los registros relevantes (registros del servidor web, registros de complementos) y guárdelos fuera de línea. Anote marcas de tiempo e IPs.
- Rota las credenciales — Gire inmediatamente las credenciales de la base de datos (actualice wp-config.php), las contraseñas de administrador de WordPress, las claves API y cualquier credencial de terceros expuesta que pudiera estar en las copias de seguridad.
- Escaneo y limpieza de malware — Realice un escaneo completo de malware (servidor y WordPress). Elimine shells web y puertas traseras. Si carece de capacidad interna, involucre a respondedores de incidentes experimentados.
- Evaluar copias de seguridad — Si un atacante descargó copias de seguridad, considérelas comprometidas. Restaure desde una copia de seguridad conocida y buena tomada antes del compromiso, si está disponible. Confirme la integridad de la copia de seguridad antes de restaurar.
- Reconstruir si es necesario — En muchos compromisos graves, reconstruir desde fuentes limpias (núcleo de WordPress fresco, archivos de plugin frescos del repositorio oficial) y restaurar solo contenido verificado es lo más seguro.
- Dureza post-incidente — Implemente el principio de menor privilegio, mueva las copias de seguridad fuera del directorio web, asegure la encriptación en reposo para las copias de seguridad, aplique reglas de servidor/protecciones WAF y habilite la autenticación multifactor para cuentas de administrador.
- Notificar a las partes interesadas / cumplimiento — Si se expuso información personal, siga las obligaciones legales de reporte (autoridades de protección de datos, usuarios afectados) según su jurisdicción.
Recomendaciones de endurecimiento para plugins y prácticas de copias de seguridad
- Almacene copias de seguridad fuera del sitio y fuera de directorios accesibles por la web (S3 con política IAM estricta, SFTP a un host separado).
- Encripte las copias de seguridad en reposo y en tránsito. Use frases de paso fuertes y cámbielas periódicamente.
- Use URLs de descarga firmadas y que expiren (tokens limitados en el tiempo) en lugar de enlaces públicos estáticos.
- Limite la creación de copias de seguridad y los puntos finales de descarga a administradores autenticados con verificaciones de capacidad (por ejemplo,
gestionar_opciones). - Audite regularmente los puntos finales de plugins y restrinja el acceso a través de reglas de servidor donde sea posible.
- Revise y elimine periódicamente copias de seguridad antiguas; mantenga solo un conjunto mínimo de retención.
- Habilite el registro y la alerta para eventos de creación y descarga de copias de seguridad.
- Evite almacenar secretos (claves en texto plano) en copias de seguridad si es posible; use variables de entorno o administradores de secretos.
Reglas prácticas de WAF para propietarios de sitios de WordPress
Cuando un parche de proveedor aún no se aplica en cada sitio, un WAF o reglas de servidor son a menudo la forma más rápida de mitigar la explotación. Ideas para autores de reglas y propietarios de sitios:
- Bloquee solicitudes no autenticadas a puntos finales de administración de plugins: niegue solicitudes a puntos finales de plugins donde la solicitud no incluya cookies de autenticación válidas o un token nonce válido.
- Bloquee o desafíe solicitudes que intenten descargar tipos de archivos de archivo/base de datos de carpetas de plugins (zip, sql, tar, gz).
- Limite la tasa y desafíe solicitudes que enumeren IDs de copias de seguridad o listan archivos en rutas de plugins.
- Bloquear patrones de explotación conocidos (cadenas de consulta sospechosas que contienen
descargar=1,acción=obtener_respaldo, etc.) donde la solicitud carece de una sesión autenticada válida.
Ejemplo de lista de verificación — acciones priorizadas
Inmediato (dentro de unas horas)
- Actualizar Everest Backup a v2.3.6 o posterior.
- Si la actualización no es posible, desactivar el plugin hasta que se parchee.
- Aplicar regla de servidor web/WAF para bloquear el acceso público a los puntos finales y archivos relacionados con copias de seguridad.
- Revisar los registros de acceso en busca de solicitudes de descarga sospechosas.
Corto plazo (1–3 días)
- Escanear el sitio en busca de indicadores de compromiso.
- Rotar credenciales sensibles (DB, claves API, contraseñas de administrador).
- Mover copias de seguridad a un almacenamiento protegido, no accesible desde la web.
- Verificar y ajustar los permisos y configuraciones del plugin.
A medio plazo (1–4 semanas)
- Revisar la política de retención y cifrado de copias de seguridad.
- Realizar una auditoría de seguridad de plugins de terceros y eliminar plugins no utilizados.
- Desplegar monitoreo y alertas para acciones relacionadas con copias de seguridad.
En curso
- Mantener todos los plugins, temas y el núcleo de WordPress actualizados.
- Hacer cumplir el principio de menor privilegio para los usuarios administradores.
- Utilizar protecciones de firewall confiables y escaneos de vulnerabilidades regulares.
Por qué esta vulnerabilidad es evitable — una nota del desarrollador
Desde la perspectiva de un desarrollador y de la ingeniería de seguridad, la funcionalidad de respaldo siempre debe realizar verificaciones de autorización estrictas. Prácticas recomendadas comunes:
- Cada punto final que devuelve listados o archivos de respaldo debe verificar la identidad y las capacidades del solicitante. En WordPress, confíe en verificaciones de capacidades como
current_user_can('manage_options')o capacidades más adecuadas para el plugin. - Use nonces en cualquier punto final AJAX/REST vinculado a acciones sensibles y verifíquelos del lado del servidor.
- Almacene los respaldos fuera del webroot o detrás de puertas autenticadas, y use URLs firmadas temporales para descargas.
- Minimice la cantidad de datos sensibles incluidos en los respaldos (excluya registros y credenciales transitorias cuando sea posible).
Si usted es un autor de plugin, aplique defensa en profundidad: autorización + validación de entrada + limitación de tasa + registro.
Cómo los servicios de seguridad y consultores pueden ayudar
Si necesita asistencia, busque consultores de seguridad experimentados o equipos de respuesta a incidentes. Servicios típicos que pueden ayudar:
- Evaluación rápida para determinar si un sitio ha sido sondeado o explotado.
- Parches virtuales temporales o orientación sobre reglas del servidor para bloquear intentos de explotación comunes mientras usted aplica parches.
- Escaneo de malware, revisión forense de registros y asistencia en remediación.
- Orientación para la rotación de credenciales, configuración segura de respaldos y endurecimiento posterior a incidentes.
Recomendaciones finales (lo que queremos que haga ahora)
- Verifique la versión del plugin Everest Backup en cada sitio de WordPress que administre. Actualice a la v2.3.6 o posterior de inmediato.
- Si no puede actualizar de inmediato, desactive el plugin y implemente mitigaciones (reglas WAF/servidor).
- Revise los registros y escanee en busca de compromisos — especialmente intentos de descarga o recuperaciones de archivos.
- Mueva los futuros respaldos fuera del webroot y habilite la encriptación y URLs firmadas para descargas.
- Contrate a un consultor de seguridad calificado o a un respondedor de incidentes si detecta actividad sospechosa o falta de capacidad interna.
Apéndice — comandos y verificaciones útiles
Verificar la versión del plugin a través de WP-CLI:
wp plugin get everest-backup --field=version
Listar archivos en directorios de respaldo potenciales (SSH):
ls -lah wp-content/plugins/everest-backup/
Buscar en los registros solicitudes que hagan referencia a rutas relacionadas con el respaldo:
# Ejemplo para registros de Apache
Verificar descargas recientes por tipo de contenido en los registros:
grep -i "application/zip" /var/log/nginx/access.log | tail -n 50