Vulnerabilidad de WordPress Ninja Forms expone más de un millón de sitios

  • HatumSEO
  • Noticias
  • Vulnerabilidad de WordPress Ninja Forms expone más de un millón de sitios

La vulnerabilidad de WordPress Ninja Forms puede llevar a la toma completa del sitio y a las estafas de phishing

Hoy se reveló que el popular formulario de contacto de WordPress llamado Ninja Forms corrigió dos vulnerabilidades que afectaron a más de 1 millón de instalaciones de WordPress.. Esto representa otra en una lista creciente de vulnerabilidades relacionadas con la API REST que se están descubriendo entre muchos complementos de WordPress.

Debe reiterarse que no hay nada malo con la API REST de WordPress en sí. Los problemas se originan en cómo los complementos de WordPress diseñan sus interacciones con la API REST.

API REST de WordPress

La API REST de WordPress es una interfaz que permite que los complementos interactúen con el núcleo de WordPress. La API REST permite complementos, temas y otras aplicaciones para manipular el contenido de WordPress y crear funcionalidades interactivas.

Esta tecnología amplía lo que puede hacer el núcleo de WordPress.

El núcleo de WordPress recibe datos a través de la interfaz REST API de los complementos para lograr estas nuevas experiencias.

Sin embargo, como cualquier otra interacción que permite cargar o ingresar datos, es importante «desinfectar» lo que se ingresa y quién puede realizar la entrada, para asegurarse de que los datos sean lo que se espera y está diseñado para recibir.

El hecho de no desinfectar las entradas y restringir quién puede ingresar los datos puede generar vulnerabilidades.

Y eso es exactamente lo que sucedió aquí.

Vulnerabilidad de devolución de llamada de permisos

Las dos vulnerabilidades fueron el resultado de un solo problema de validación de API REST, específicamente en las devoluciones de llamada de permisos.

La devolución de llamada de permisos es una parte del proceso de autenticación que restringe el acceso a los puntos finales de la API REST a los usuarios autorizados.

La documentación oficial de WordPress describe un punto final como una función: describes an endpoint as a function

“Endpoints are functions available through the API. This can be things like retrieving the API index, updating a post, or deleting a comment. Endpoints perform a specific function, taking some number of parameters and return data to the client.”

“Los puntos finales son funciones disponibles a través de la API. Esto puede ser cosas como recuperar el índice API, actualizar una publicación o eliminar un comentario.. Los puntos finales realizan una función específica, toman una cierta cantidad de parámetros y devuelven datos al cliente”.

Según la documentación de la API REST de WordPress: WordPress REST API documentation

“Permissions callbacks are extremely important for security with the WordPress REST API.

If you have any private data that should not be displayed publicly, then you need to have permissions callbacks registered for your endpoints.”

“Las devoluciones de llamada de permisos son extremadamente importantes para la seguridad con la API REST de WordPress.

Si tiene datos privados que no deben mostrarse públicamente, entonces necesita tener devoluciones de llamadas de permisos registradas para sus puntos finales”.

Dos vulnerabilidades de formularios Ninja de WordPress

Había dos vulnerabilidades que estaban relacionadas con un error de devolución de llamada de permisos en la implementación.

No hay nada malo con la API REST de WordPress en sí, pero la forma en que los fabricantes de complementos la implementan puede generar problemas.

Estas son las dos vulnerabilidades:

  • Divulgación de información confidencial
  • REST-API sin protección para inyección de correo electrónico

Vulnerabilidad de divulgación de información confidencial

La vulnerabilidad de Divulgación de información confidencial permitió a cualquier usuario registrado, incluso un suscriptor, exportar todos los formularios que alguna vez se enviaron al sitio web.. Eso incluye toda la información confidencial que alguien pueda haber enviado.

Ninja Forms tenía una devolución de llamada de permisos que verificaba si un usuario estaba registrado, pero no verificaba si el usuario tenía un nivel de permiso adecuado para ejecutar una exportación masiva de todos los formularios enviados a través del complemento Ninja Forms WordPress.

Esa falla en verificar el nivel de permiso del usuario es lo que permitió a cualquier usuario registrado, incluido un suscriptor del sitio web, ejecutar una exportación masiva de todos los formularios enviados.

La REST-API desprotegida para la inyección de correo electrónico

Esta vulnerabilidad se debió a la misma devolución de llamada de permisos defectuosa que no pudo verificar el nivel de permiso del atacante registrado.. La vulnerabilidad aprovechó una funcionalidad de Ninja Forms que permite a los editores de sitios web enviar notificaciones masivas por correo electrónico o confirmaciones por correo electrónico en respuesta a los envíos de formularios.

La vulnerabilidad de inyección de correo electrónico permitió a un atacante usar esta funcionalidad específica de Ninja Forms para enviar correos electrónicos desde el sitio web vulnerable a cualquier dirección de correo electrónico.

Esta vulnerabilidad en particular tenía la posibilidad de lanzar una adquisición completa del sitio o una campaña de phishing contra los clientes de un sitio web.

Según los investigadores de seguridad de Wordfence que descubrieron la vulnerabilidad:

“This vulnerability could easily be used to create a phishing campaign that could trick unsuspecting users into performing unwanted actions by abusing the trust in the domain that was used to send the email.

In addition, a more targeted spear phishing attack could be used to fool a site owner into believing that an email was coming from their own site.

This could be used to trick an administrator into entering their password on a fake login page, or allow an attacker to take advantage of a second vulnerability requiring social engineering, such as Cross-Site Request Forgery or Cross-Site Scripting, which could be used for site takeover.”

“Esta vulnerabilidad podría usarse fácilmente para crear una campaña de phishing que podría engañar a los usuarios desprevenidos para que realicen acciones no deseadas al abusar de la confianza en el dominio que se utilizó para enviar el correo electrónico.

Además, se podría utilizar un ataque de phishing selectivo más específico para engañar al propietario de un sitio haciéndole creer que un correo electrónico proviene de su propio sitio.

Esto podría usarse para engañar a un administrador para que ingrese su contraseña en una página de inicio de sesión falsa, o permitir que un atacante aproveche una segunda vulnerabilidad que requiere ingeniería social, como falsificación de solicitud entre sitios o secuencias de comandos entre sitios, que podrían usarse

Se recomienda la actualización inmediata de los formularios Ninja

Los investigadores de seguridad de Wordfence recomiendan que los usuarios del complemento WordPress Ninja Forms actualicen su complemento de inmediato.

La vulnerabilidad se califica como peligro de nivel medio, con una puntuación de 6,5 en una escala del 1 al 10.

Citas

Lea el anuncio de Wordfence:

Las vulnerabilidades parcheadas recientemente en el complemento Ninja Forms afectan a más de 1 millón de propietarios de sitios Recently Patched Vulnerabilities in Ninja Forms Plugin Affect Over 1 Million Site Owners

Registro de cambios oficial de formas Ninja Official Ninja Forms Changelog

Leer el articulo original en Search Engine Journal.

¡Danos un Voto!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¿Tienes una pregunta?

Luis Narciso
Sobre SEO
(Posicionamiento Web)

Frank Fajardo
Sobre Diseño Web, Anuncios, Diseño y Redes Sociales