Múltiples vulnerabilidades en WordPress y plugins educativos permitirian ataques del tipo SQLi y XSS

Recientemente fueron abordadas múltiples vulnerabilidades en WordPress que afectan a:

  • Versiones 5.4 y anteriores

Además otras vulnerabilidades críticas en plugins educativos ampliamente utilizados en WordPress que afectan a:

  • LearnPress anteriores o igual a 3.2.6.7,
  • LearnDash anteriores a 3.1.6 y
  • LifterLMS anteriores a 3.37.15.

En la actualización de seguridad de WordPress fueron abordadas 7 vulnerabilidades, 5 de las ellas se tratan de vulnerabilidades del tipo XSS(Cross-Site Scripting) de alto riesgo. A continuación se describen dichas vulnerabilidades:

  • La primera vulnerabilidad se da en el momento que un usuario solicita el cambio de la contraseña a través de la función de password reset. En donde es enviado un enlace al correo electrónico con el fin de cambiar la contraseña, dicho enlace aun después del cambio se mantiene válido, siendo solo invalidado si el usuario cambia su dirección de correo asignado, lo que permitiría a un atacante con acceso a la dirección de correo electrónico de la víctima, cambiar la contraseña de wordpress y obtenerla cuenta de usuario.
  • La segunda vulnerabilidad permitiría a un atacante el acceso a publicaciones privadas (utilizando consultas SQL basadas en fecha y tiempo) que fueron creadas y/o actualizadas al mismo tiempo que una publicación no protegida.
  • La tercera y cuarta son vulnerabilidades XSS en el Customizer, estas podrían permitir a un atacante autenticado con permisos de contribuidor, corromper publicaciones de varios usuarios y agregar javascript malicioso.
  • La quinta se trata de una vulnerabilidad XSS en el Bloque de Búsqueda y el Bloque RSS, en donde un atacante que cuente con el rol de contribuidor (es decir, cuente con la capacidad de escribir y modificar entradas pero no publicarlas) podría modificar el «block class» de una manera que se ejecute un javascript malicioso cuando se visualiza o previsualiza una publicación.
  • La sexta se trata de una vulnerabilidad XSS en wp-object-cache, el Cache Object permite acceder al contenido caché de la base de datos con una clave utilizada para dar nombre y recuperar el contenido. En algunos casos, podría permitir a un atacante con capacidad de modificar las claves, asignar alguna clave a un javascript malicioso.
  • La séptima y última se trata de una vulnerabilidad XSS en la subida de archivos, este fallo permitiría a un usuario que cuente con el permiso «upload_files», subir un archivo que lleve a la ejecución de un javascript malicioso al abrirlo.

Por otro lado, también fueron abordadas 4 vulnerabilidades en plugins de educacion populares de WordPress, específicamente:

LearnPress

Este plugin ha sido afectado por dos vulnerabilidades , la primera se trata de un Blind SQL injection (un tipo de ataque SQL Injection que realiza consultas de verdadero o falso a la base de datos, determinando la respuesta en función a la respuesta de la aplicación), identificada como CVE-2020-6010 y se da debido a que el método _get_items no verifica correctamente la integridad de los datos proveídos por el usuario antes de utilizarlo en una consulta SQL. La segunda (CVE-2020-11511), se trata de un error en la función learn_press_accept_become_a_teacher que puede ser utilizada para adquirir permisos de profesor por cualquier usuario, resultando en una escalada de privilegios.

LearnDash

En el caso de LearnDash, una extensión utilizada por más de 33.000 sitios web, se ha detectado una vulnerabilidad catalogada como crítica (CVE-2020-6009) de tipo Second-Order SQL Injection (ataque que ocurre cuando los datos proveídos por el usuario son guardados en la aplicación y luego incorporados en las consultas SQL de una forma insegura) en la función learndash_get_course_groups, dónde está no verifica correctamente la integridad de los datos proveídos por el usuario antes de utilizarlo en la consulta SQL, la misma sucede durante una transacción de PayPal.

LifterLMS

En LifterLMS fue detectada una vulnerabilidad de escritura arbitraria de archivos (vulnerabilidad que permite al atacante escribir o sobreescribir archivos en el sistema) identificada como CVE-2020-6008, el fallo se encuentra en la exportación a csv, permitiendo a un atacante cambiar la extension a utilizar, por otra como por ejemplo .php, un alumno podría cambiar sus datos personales como su nombre o apellido (por ejemplo ‘BOBBY con el objetivo de ejecutar código PHP en el servidor.

Recomendaciones:

En el caso de WordPress:

  • Actualizar WordPress a su última versión disponible, en este caso la 5.4.1
  • En caso de no poder actualizar a la última versión, todas las versiones de WordPress, desde la 3.7 también tienen disponible la actualización. Recomendamos su revisión: https://wordpress.org/download/releases/

En el caso de los Plugins de WordPress:

  • Actualizar LifterLMS a su última versión disponible en la página oficial de WordPress.
  • Actualizar LearnPress a su última versión disponible en la página oficial de WordPress.
  • Actualizar LearnDash a su última versión disponible siguiendo los siguientes pasos:
    • Primeramente, iniciar sesión en la página oficial de LearnDash y descargar el archivo .zip de la cuenta,
    • Desactivar, y eliminar la versión del plugin actualmente instalado (no se perderán datos),
    • Dirigirse a PLUGINS > ADD NEW,
    • Hacer click en Upload Plugin,
    • Seleccionar el archivo .zip descargado anteriormente,
    • Click en Install Now y
    • Click en Activate.

Referencias:

Compartir: