
Divulgación detallada de CVE-2024-1208 y CVE-2024-1210: exposición de información sensible vía REST API en el plugin de WordPress LearnDash, que permite el acceso no autenticado a cuestionarios y preguntas.
Exposición de Información Sensible a través de API en LearnDash. Visitantes no autenticados pueden navegar por los cuestionarios y las preguntas de los cuestionarios sin estar inscritos en un curso conectado.
Cualquier persona, incluso visitantes no autenticados, puede ver todos los cuestionarios de LearnDash y las preguntas de los cuestionarios de LearnDash. Dado que las preguntas de los cuestionarios son públicas, no pueden usarse para verificar el conocimiento de un estudiante.
LearnDash es un complemento de Sistema de Gestión de Aprendizaje para WordPress. Admite dos tipos diferentes de cuestionarios. El tipo de cuestionario más antiguo se llama sfwd-quiz y se basa en preguntas vinculadas (sfwd-question). El tipo de cuestionario más nuevo almacena el cuestionario junto con sus preguntas como publicaciones ld-exam.
LearnDash tiene tres API REST: /wp/v2/, /ldlms/v1/ y /ldlms/v2/ (actualmente en beta). Todas las API, incluida la API beta, están habilitadas por defecto. Las API /ldlms/v1/ y /ldlms/v2/ se pueden deshabilitar para tipos de publicaciones específicos usando el filtro learndash_rest_api_enabled (ver class-ld-rest-api.php).
Las versiones afectadas de LearnDash (<=4.10.2) publican todos los cuestionarios y preguntas de los cuestionarios para visitantes no autenticados. Un visitante puede navegar (leer) todas las preguntas llamando a los endpoints para sfwd-question y ld-exam a través de la API REST /wp/v2/. Esta API está habilitada por defecto.
https://example.com/wp-json/wp/v2/sfwd-question
https://example.com/wp-json/wp/v2/ld-exam
Un visitante también puede navegar (leer) todos los cuestionarios llamando al endpoint sfwd-quiz a través de la API /ldlms/v1/. Esta API está habilitada por defecto.
https://example.com/wp-json/ldlms/v1/sfwd-quiz
Un visitante también puede acceder a los cuestionarios a través de la API /ldlms/v2/ si conoce el ID de la publicación del cuestionario (que es simplemente un número entero incremental).
Las API /ldlms/v1/ y /ldlms/v2/ se pueden deshabilitar usando el filtro learndash_rest_api_enabled, pero eso abre una nueva fuga de datos. Si un administrador deshabilita las API /ldlms/v1/ y /ldlms/v2/ para cualquier tipo de publicación, LearnDash publica todo el contenido de LearnDash accesible por REST API a través de la API /wp/v2/ para visitantes no autenticados, incluyendo lecciones y temas.
LearnDash 4.10.2 se lanzó el 2024-01-08. No abordó las fugas de datos, aunque hizo posible deshabilitar las API /ldlms/v1/ y /ldlms/v2/ sin revelar aún más información a través de la API /wp/v2/.
LearnDash 4.10.3 se lanzó el 2024-01-31 y abordó las vulnerabilidades.
LearnDash manejó bien los informes de vulnerabilidad y abordó las vulnerabilidades dentro del período de divulgación responsable de 90 días.