El complemento del curso en línea de WordPress ‘LearnPress’ era vulnerable a múltiples fallas de gravedad crítica, incluida la inyección de SQL previa a la autenticación y la inclusión de archivos locales.
LearnPress es un complemento del sistema de gestión de aprendizaje (LMS) que permite que los sitios web de WordPress creen y vendan fácilmente cursos, lecciones y cuestionarios en línea, brindando a los visitantes una interfaz amigable sin necesidad de conocimientos de codificación por parte del desarrollador del sitio web.
PatchStack descubrió las vulnerabilidades en el complemento, utilizado en más de 100.000 sitios activos, entre el 30 de noviembre y el 2 de diciembre de 2022, y las informó al proveedor del software.
Los problemas se solucionaron el 20 de diciembre de 2022 con el lanzamiento de LearnPress versión 4.2.0. Sin embargo, según las estadísticas de WordPress.org, solo alrededor del 25% ha aplicado la actualización.
Esto significa que aproximadamente 75.000 sitios web podrían estar utilizando una versión vulnerable de LearnPress, exponiéndose a graves fallas de seguridad, cuya explotación puede tener serias repercusiones.
Detalles de vulnerabilidad
La primera vulnerabilidad descubierta por PatchStack fue el CVE-2022-47615, una falla de inclusión de archivos locales (LFI) no autenticada que permite a los atacantes mostrar el contenido de los archivos locales almacenados en el servidor web.
Esto podría exponer las credenciales, los tokens de autorización y las claves de API, lo que generaría un mayor riesgo.
La vulnerabilidad se encuentra en un fragmento de código que maneja las solicitudes de API para el sitio web, ubicado en la función «list_courses», que no valida ciertas variables ($template_pagination_path, $template_path y $template_path_item) correctamente.
Un atacante podría potencialmente explotar CVE-2022-47615 enviando una solicitud de API especialmente diseñada y usando valores maliciosos para las tres variables.
La segunda falla crítica es CVE-2022-45808, una inyección SQL no autenticada que potencialmente conduce a la divulgación de información confidencial, la modificación de datos y la ejecución de código arbitrario.
Esta vulnerabilidad radica en una función que maneja consultas SQL para el sitio web, que no sanea y valida correctamente la variable «$filter» en los parámetros de consulta, lo que permite que un atacante inserte código malicioso en él.
La tercera falla que afecta a las versiones anteriores de LearnPress es CVE-2022-45820, una falla de inyección SQL autenticada en dos códigos abreviados del complemento («learn_press_recent_courses» y «learn_press_featured_courses») que no validan ni desinfectan adecuadamente la entrada de la variable «$args».
PatchStack proporcionó un exploit de prueba de concepto que muestra cómo un usuario ‘Contribuidor’ podría activar la inyección de SQL utilizando un código abreviado especialmente diseñado en una publicación redactada.
Esta vulnerabilidad debe ser realizada por un usuario con la capacidad de editar o crear una nueva publicación de blog, lo que limita el riesgo de la falla.
El proveedor solucionó los problemas anteriores mediante la introducción de una lista de permitidos y el saneamiento de las variables vulnerables o eliminando la capacidad de incluir plantillas en la entrada del usuario.
Se recomienda a los propietarios de sitios web que confían en LearnPress que actualicen a la versión 4.2.0 o deshabiliten el complemento hasta que puedan aplicar la actualización de seguridad disponible.
Fuente: https://blog.nivel4.com/noticias/75-mil-sitios-de-wordpress-afectados-por-plugin-de-curso-online