Recientemente se ha descubierto una vulnerabilidad de riesgo alto en el plugin «Real-Time Find and Replace» de WordPress en versiones 3.9 y anteriores . Este plugin, es utilizado para reemplazar temporalmente texto y código de los sitios web en tiempo real, sin necesidad de acceder al código fuente del sitio ni realizar cambios permanentes. La vulnerabilidad descubierta en dicho plugin, permitiría a un atacante realizar ataques del tipo Cross-Site Request Forgery (CSRF), que podría derivar en un ataque Cross-Site Scripting Permanente (XSS), en otras palabras, un atacante remoto podría redirigir al usuario a sitios que contengan malware, cambiar la apariencia del sitio web, obtener información confidencial, entre otros ataques.
Detalles Técnicos.
La funcionalidad de modificación de texto y código en tiempo real del plugin «Real-Time Find and Replace» hace uso de la función «far_options_page» con el requerimiento «activate_plugins». Dicha función es el núcleo de funcionamiento del plugin y permite añadir nuevas reglas «Find and Replace». Sin embargo, debido a un fallo en la verificación nonce (los nonces son utilizados en WordPress para proveer una capa extra de seguridad), un atacante podría realizar ataques del tipo Cross-Site Request Forgery, posibilitando a su vez realizar ataques XSS permanente.
Sabiendo esto un atacante podría diseñar una solicitud maliciosa y engañar al administrador del sitio con el fin de descargar algún documento malicioso o ingresar a un enlace malicioso a través de un email, y seguidamente inyectar en el sitio el código malicioso, que será ejecutado cada vez que un usuario navegue por la página.
A Continuación, un ejemplo de una explotación exitosa de esta vulnerabilidad, donde el atacante reemplaza la etiqueta HTML por un Javascript malicioso, el cual afecta a casi todas las páginas del sitio (ya que la mayoría de las páginas empiezan con la etiqueta )
Recomendaciones:
- Actualice el plugin “Real-time Find and Replace” a la versión 4.0.2 desde el sitio web del fabricante.
- Además es recomendable que, instale un WAF (Web Application Firewall) que filtre las peticiones HTTP que contengan código malicioso.
Referencias:
- https://www.wordfence.com/blog/2020/04/high-severity-vulnerability-patched-in-real-time-find-and-replace-plugin/
- https://www.bleepingcomputer.com/news/security/wordpress-plugin-bug-lets-hackers-create-rogue-admin-accounts/
- https://noticiasseguridad.com/vulnerabilidades/vulnerabilidad-critica-en-real-time-find-and-replace-plugin-de-wordpress/