Hoy se ha detectado una grave vulnerabilidad en el afamado plugin W3 Total Cache, que puede comprometer la seguridad de tu web.
Para empeorar las cosas resulta que el plugin lleva más de 6 meses sin actualizarse y sin dar ni siquiera el soporte premium, algo inaceptable en un plugin tan importante, con millones de usuarios activos.
La vulnerabilidad detectada, según explican en Zerial, tiene una vulnerabilidad del tipo XSS (Cross-Site Scripting) que permite obtener las credenciales de administrador.
Para poder explotar la vulnerabilidad el administrador o un usuario con los permisos suficientes debe tener una sesión activa, el problema se encuentra en la sección “Support”. Al momento de generar un ticket de soporte, el sistema muestra un formulario en el cual le asigna un “ID” como campo oculto. Este valor puede ser sobreescrito seteando el valor vía GET.
De esta forma, es posible explotar la vulnerabilidad inyectando un payload del tipo “><script>alert(/XSS/)</script>.
Índice de contenidos
Soluciones a la vulnerabilidad de W3 Total Cache
Si puedes prescindir del plugin W3 Total Cache te recomiendo que uses otro plugin que ofrezca prestaciones similares. Por ejemplo, si estás alojado en SiteGround puedes usar SuperCacher, que gestiona caché estática, dinámica y memcached a un solo clic.
Lo que no debes es dejar tu web sin cache, nunca.
Y si no quieres dejar de usar W3 Total Cache entonces urge que apliques esta guía para solucionar el problema, mientras no haya una actualización del plugin que solucione los graves problemas de seguridad:
- Antes de nada haz una copia de seguridad de tu WordPress.
- Guarda los ajustes de W3 Total Cache y exporta la configuración desde los ajustes generales del plugin
- Ya puedes desactivar desde tu página de administración de plugins W3 Total Cache, pero sin borrarlo ni hacer clic en el enlace de desinstalar del plugin.
- Ahora accede a los archivos de tu instalación de WordPress y renombra desde cPanel o FTP a la carpeta wp-total-cache y cámbiale el nombre, por ejemplo a wp-total-cache-off. No borres la carpeta, solo renómbrala o WordPress mostrará todo tipo de errores de object cache, de configuración y de plugins dependientes o Dropins. Pero sobre todo porque para los siguientes pasos necesitamos que siga ahí.
- Ahora debes descargar la versión o fork creada por M. Asif Rahman, que soluciona el problema de W3 Total Cache y guardarla en tu ordenador:
Github: https://github.com/Asif2BD/W3-Total-Cache-Reloaded
Descarga directa: https://github.com/Asif2BD/W3-Total-Cache-Reloaded/releases/download/0.9.4.5.2.1/w3-total-cache.zip - Vuelve al escritorio de tu WordPress, ve a la página de añadir plugins y elige subir nuevo plugin.
- Localiza el archivo recién descargado de Github wp-total-cache.zip, súbelo y actívalo.
- Con el plugin ya activo visita la pestaña de rendimiento (Performance) y haremos algunos ajustes (ve probando uno a uno):
- Ve a Performance -> General Settings, marca todos los ajustes y guarda.
- Ve a Performance -> Dashboard, limpia la cache.
- Vuelve a tu sitio y comprueba si ya va todo bien, y si estás seguro, por supuesto.
Resumiendo
¡Corre! Una de dos, o usas otro plugin de cache o aplica el parche cuanto antes. Este tipo de vulnerabilidades se explotan rápidamente, pues afectan a millones de usuarios y siempre habrá algún cabrón dispuesto a aprovecharla.
Yo te recomiendo que te busques otro plugin, sobre todo por la falta de actualizaciones y soporte por parte de W3 Total Cache.
Nota: A día 26 de septiembre se ha actualizado el plugin tras meses sin novedades (por fin) para corregir la vulnerabilidad: https://es.wordpress.org/plugins/w3-total-cache/changelog/
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Gracias Fernando por avisar! Brillante artículo, aunque no muy de acuerdo con usar los plugins de cache de SG. Yo tengo SG como servicio de hosting desde hace mucho tiempo y he probado muchas veces sus plugins de cache y comprobado el rendimiento haciendo tests y no tienen nada que ver con W3TC u otros similares. Por no decir que la funcionalidad que tienen (los de SG) es mínima. Dicho esto, es cierto que los de W3TC se están columpiando bastante y me veré obligado a cambiar a otros plugins como WP Rocket o WP Super Cache.
Gracias de nuevo!
Hombre Luis, el tema de funcionalidades es debido a que los plugins de cache meten cosas muchas veces que no son cache puramente, como minify y cosas así, y el de SG es puramente cache
WP Rocket es muy buena opción, sí 🙂
Ya han actualizado el plugin en el repositorio oficial
Gracias Fernando por el artículo. Por cierto la
nueva actualización que ha sacado Frederick pisa la del fork de la comunidad (W3TC Reloaded) y
además al menos en mi caso tiene errores:
Fatal error: require_once() [function.require]: Failed opening required…
No se pasen, la actualización del post debe estar arriba!!!!! no al final, yo desactive el plugin antes de ver que ya estaba arreglado el error.