19 abr 2021

Cadenas de exploit para MyBB

Los foros de MyBB con versiones comprendidas entre 1.8.16 y 1.8.25 se ven afectados por dos vulnerabilidades que descubrieron investigadores de SonarSource. Estas vulnerabilidades se pueden encadenar para lograr la ejecución remota de código (RCE) sin ningún acceso previo a una cuenta privilegiada en las configuraciones predeterminadas de MyBB.

La primera vulnerabilidad reportada es un XSS persistente (CVE-2021-27889) es un error que permite a cualquier usuario de foro sin privilegios incrustar payloads XSS almacenados en un hilos, publicaciones e incluso mensajes privados.

La segunda vulnerabilidad es una Inyección SQL en las propiedades del tema (CVE-2021-27890) que conduce a un RCE que podría ser activado por cualquier usuario con una sesión activa en el panel de administrador de un foro MyBB.

Un atacante sofisticado podría desarrollar un exploit para la vulnerabilidad Stored XSS y luego enviar un mensaje privado a un administrador objetivo de MyBB. Tan pronto como el administrador abre el mensaje privado, en su propio foro de confianza, el exploit se activa. Una vulnerabilidad de RCE se explota automáticamente en segundo plano y conduce a una toma de control total del foro MyBB objetivo.

XSS persistente en URL automática anidada

MyBB comúnmente permite a los usuarios sin privilegios crear publicaciones o mensajes privados que contienen imágenes, videos, titulares, listas, etc.

Esta función debe implementarse con cuidado, ya que los usuarios que no son de confianza podrían abusar de ella para modificar el contenido del foro de formas no deseadas si las restricciones de esta función no son lo suficientemente estrictas. En el peor de los casos, un usuario podría obtener la capacidad de inyectar código JavaScript arbitrario en los documentos HTML proporcionados por el foro de confianza.

Hay dos enfoques para implementar esta característica:

  • Permitir que los usuarios envíen etiquetas HTML y apliquen una lista balnca o negra para determinar si la entrada es sensata y segura para mostrarla a otros usuarios.
  • Utilizar un formato de mensaje existente o personalizado, como Markdown, por ejemplo, para crear salidas HTML sensatas a partir de las entradas.

Ambos enfoques tienen sus respectivas ventajas y desventajas. MyBB utiliza el segundo enfoque en su proceso de renderizado con una implementación personalizada de sus MyCodes.

Siempre que un usuario crea, por ejemplo, un mensaje privado que contiene dichos códigos, el analizador MyBB codifica toda la entrada y luego utiliza una expresión regular para buscar y reemplazar todos los MyCodes con su respectivo código HTML.

Los problemas en dichos analizadores pueden ocurrir cuando los patrones de expresiones regulares que se utilizan para buscar y reemplazar, por ejemplo, MyCodes son demasiado relajados, lo que podría llevar a que se rendericen etiquetas HTML anidadas, como es el caso del XSS desglosado aquí.

Inyección de SQL en las propiedades del tema que conducen a RCE

La vulnerabilidad XSS descrita permite a un atacante apuntar a administradores de un foro MyBB. Si el atacante logra inyectar código JavaScript malicioso en el navegador de un usuario administrativo con una sesión activa, puede realizar acciones arbitrarias con privilegios de administrador.

MyBB evita activamente que incluso los usuarios administradores ejecuten código PHP arbitrario en el servidor subyacente, por lo que presentaremos una vulnerabilidad RCE autenticada a la que se puede acceder con privilegios administrativos.

Es aconsejable no dejar que las expresiones regulares se vuelvan demasiado complejas en estos analizadores, especialmente cuando están destinadas a prevenir problemas de seguridad.

MyBB ha solucionado las vulnerabilidades en su versión 1.8.26.

Fuente: SonarSource

No hay comentarios.:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!