Comprender las vulnerabilidades RCE en los plugins de WordPress
- Imagina entregar los controles de tu sitio web a alguien en quien no confías: ese es el riesgo de las vulnerabilidades RCE en WordPress.
- Los atacantes pueden modificar el contenido de los sitios web, inyectar contenido spam y propagar malware, infectando a los visitantes del sitio.
- Para evitar cualquier error, es crucial asegurarse de que todos sus plugins y temas son compatibles con la nueva versión de PHP antes de actualizar.
WordPress es un popular sistema de gestión de contenidos (CMS) que impulsa más del 40% de Internet. Es conocido por su flexibilidad y su amplio ecosistema de plugins. Sin embargo, estos plugins, aunque añaden funcionalidad, pueden introducir vulnerabilidades de seguridad. Estas vulnerabilidades pueden aparecer debido a errores de codificación, bibliotecas obsoletas o falta de mantenimiento adecuado. Comprender las vulnerabilidades de los plugins de WordPress, los riesgos asociados y los retos de actualizar los plugins es crucial para mantener un sitio WordPress seguro.
En este artículo, exploraremos las vulnerabilidades de ejecución remota de código (RCE) en plugins de WordPress que permiten a los atacantes inyectar y ejecutar remotamente código malicioso en su sitio web.
Riesgos de seguridad que plantean las vulnerabilidades RCE en WordPress
Toma completa del sitio web: Ejecución remota de código permite a los atacantes ejecutar cualquier comando en el servidor, pudiendo tomar el control total del sitio web. Esto significa que pueden cambiar el contenido, instalar malware, redirigir a los visitantes a sitios maliciosos, o incluso puede perder el control sobre el sitio web.
Robo de datos: Los atacantes pueden acceder y robar información confidencial almacenada en su sitio web, como datos de clientes, credenciales de inicio de sesión o registros financieros.
Desfiguración de sitios web: Con el control del servidor, los atacantes pueden modificar el contenido del sitio web y mostrar sus propios mensajes.
Spam SEO: Los piratas informáticos suelen inyectar contenido y enlaces spam en sitios web vulnerables, lo que daña el posicionamiento y la credibilidad del sitio en los motores de búsqueda.
Distribución de malware: Los sitios web comprometidos también se utilizan para propagar malware para infectar a los visitantes del sitio.
Vulnerabilidades RCE críticas en plugins populares de WordPress
Fallo RCE en la migración de copias de seguridad
Una vulnerabilidad crítica (CVE-2023-6553) en un popular plugin de copia de seguridad de WordPress llamado Backup Migration, que cuenta con más de 80.000 instalaciones activas. La explotación de esta vulnerabilidad permite a los atacantes tomar el control total de los sitios web. Todas las versiones del plugin hasta la 1.3.7 son vulnerables. Se ha publicado una actualización (versión 1.3.8) que corrige este problema y se recomienda a los usuarios de Backup Migration que actualicen a la última versión inmediatamente.
Fallo RCE del constructor de ladrillos
Existe una vulnerabilidad crítica (CVE-2024-25600) en Bricks Builder, un popular plugin constructor de páginas (alrededor de 25.000 instalaciones activas), que permite a los hackers tomar el control total de los sitios web. Esta vulnerabilidad se descubrió en febrero de 2024 y poco después se publicó una solución (versión 1.9.6.1). Aunque no se han confirmado ataques, se recomienda encarecidamente a los usuarios que actualicen inmediatamente a la última versión (1.9.6.1) para evitar ser pirateados.
Vulnerabilidades PHP Everywhere en WordPress
PHP Everywhere es un popular plugin que permite a los usuarios insertar código PHP personalizado en la barra lateral, páginas y entradas de sitios web WordPress. El plugin se utiliza en más de 20.000 sitios web y se le descubrieron tres vulnerabilidades de ejecución remota de código que los atacantes pueden explotar.
La vulnerabilidad más grave (CVE-2022-24663) permite a cualquiera que pueda registrarse en un sitio web (suscriptores) inyectar código malicioso y, potencialmente, tomar el control de todo el sitio web.
Las otras dos vulnerabilidades (CVE-2022-24664 y CVE-2022-24665) requieren más acceso (nivel de colaborador), pero aún así pueden ser peligrosas.
Estas vulnerabilidades fueron parcheadas en la versión 3.0.0 del plugin, publicada en enero de 2022. Sin embargo, muchos usuarios no han actualizado y todavía están en riesgo. Si utilizas PHP Everywhere, actualiza a la versión 3.0.0 inmediatamente. Además, la versión 3.0.0 eliminó el soporte para el Editor Clásico, por lo que si su sitio utiliza el Editor Clásico, tendrá que encontrar una solución alternativa.
Pero una gran razón para preocuparse es que este plugin ha sido eliminado permanentemente de WordPress después de que el autor lo solicitara. Sin embargo, los sitios de WordPress que tienen este plugin instalado todavía puede utilizar el plugin. Pero es mejor si usted encuentra otro plugin similar porque no habrá más actualizaciones disponibles, incluyendo correcciones de seguridad.
Mitigación de vulnerabilidades RCE en WordPress
Actualizaciones periódicas: Mantenga siempre todos los plugins, temas y el núcleo de WordPress actualizados a las últimas versiones para corregir las vulnerabilidades conocidas.
Carga segura de archivos: Utiliza métodos seguros para subir archivos, incluyendo la validación de tipos de archivo y el uso de directorios dedicados con permisos restringidos.
Cortafuegos de aplicaciones web (WAF): Aplique un WAF para filtrar y bloquear las solicitudes maliciosas antes de que lleguen a la aplicación de WordPress.
Plugins de seguridad: Implementa plugins de seguridad que ofrezcan funciones como escaneo de malware, protección de firewall y monitoreo en tiempo real. Servicios como Wordfence, Sucuri o Jetpack pueden ayudarte a supervisar y proteger tu sitio web.
Principio de mínimo privilegio: Aplique el principio de mínimo privilegio, asegurándose de que los usuarios tienen los permisos mínimos necesarios para funcionar, limitando el daño potencial de un exploit.
Además, puede seguir estas buenas prácticas de seguridad:
Limite el uso de plugins: Minimice el número de plugins para reducir los posibles vectores de ataque. Desactive y elimine los plugins que no utilice activamente.
Haga copias de seguridad regularmente: Mantenga copias de seguridad regulares de su sitio web para restaurar la funcionalidad rápidamente en caso de un ataque exitoso.
Problemas y desafíos de la actualización
Aunque las actualizaciones de los plugins corrigen vulnerabilidades en los sitios de WordPress, a veces pueden causar problemas de compatibilidad con otros plugins, temas o incluso con el núcleo de WordPress, provocando fallos de funcionamiento o caídas del sitio. Otra razón puede ser si el plugin deja de ser compatible con la versión de PHP utilizada en su servidor. A medida que PHP evoluciona, las nuevas versiones vienen con mejoras, y las versiones anteriores ya no se mantienen. Para mantenerse al día con las últimas versiones de PHP, plugins, temas, y el propio WordPress, lanzan constantemente actualizaciones y gradualmente abandonan el soporte para versiones de PHP obsoletas.
Por ejemplo, PHP 7.4 dejará de recibir soporte por el equipo de desarrollo de PHP después del 28 de noviembre de 2022. Cualquier sitio web de WordPress que se ejecute en el servidor PHP 7.4 es altamente vulnerable debido a la falta de actualizaciones de seguridad. Aunque WordPress todavía soporta PHP 7.4, muestra el mensaje "Actualización de PHP necesaria"y recomienda a los usuarios actualizar PHP en WordPress para mantener la seguridad del sitio web. Las versiones de PHP soportadas actualmente son PHP 8.1, 8.2 y 8.3, y WordPress ya ha incluido soporte beta para todas ellas.
Sin embargo, si actualizas la versión de PHP de WordPress a 8.x y tus plugins y temas no son compatibles con PHP 8.x, es posible que te encuentres con problemas de compatibilidad que pueden provocar fallos de funcionamiento o caídas del sitio. Estos problemas pueden aparecer como mensajes de error, funcionalidad rota o incluso un sitio web completamente inaccesible.
Para evitar estos problemas, es crucial asegurarse de que todos sus plugins y temas son compatibles con PHP 8.x antes de actualizar. Para ello, busca actualizaciones de los desarrolladores o prueba primero la nueva versión de PHP en un entorno de pruebas. Algunos desarrolladores de plugins pueden abandonar sus proyectos, dejándolos vulnerables sin futuras actualizaciones.
Protección de PHP obsoleto en WordPress
En caso de que sus temas y plugins no sean compatibles con las versiones PHP 8.x, puede utilizar el Soporte de Ciclo de Vida Extendido (ELS) de TuxCare para PHP para mantener la seguridad del sitio web. ELS para PHP ofrece parches de seguridad para versiones antiguas de PHP que ya no reciben soporte oficial. Esto te permite seguir utilizando tu PHP actual en WordPress de forma segura, a la vez que te da a ti y a tus desarrolladores de temas y plugins tiempo suficiente para actualizar el código para que sea compatible con PHP 8.x.
Reflexiones finales
Las vulnerabilidades de los temas y plugins de WordPress pueden ser aprovechadas por atacantes para obtener acceso no autorizado a tu sitio web, robar datos o inyectar código malicioso. Mantenerlos actualizados es crucial para la seguridad, pero no siempre es fácil. Las actualizaciones pueden introducir errores que rompan la funcionalidad de tu sitio web, lo que requiere la resolución de problemas y comprobaciones de compatibilidad.
La actualización de una versión antigua de PHP a PHP 8.x a menudo requiere una reescritura masiva de código. Puede ser un proceso complejo y lento. El Soporte de Ciclo de Vida Extendido (ELS) PHP de TuxCare le permite permanecer en versiones anteriores de PHP durante más tiempo y mantener su código PHP existente y la funcionalidad sin preocuparse por los riesgos de seguridad.
Envíe sus preguntas a un experto en seguridad de TuxCare para saber cómo empezar con PHP ELS de TuxCare.