
Divulgazione dettagliata di CVE-2024-1208 e CVE-2024-1210: esposizione di informazioni sensibili tramite REST API nel plugin LearnDash per WordPress, che consente l'accesso non autenticato a quiz e domande.
Esposizione di informazioni sensibili tramite API in LearnDash. I visitatori non autenticati possono sfogliare i quiz e le domande dei quiz senza essere iscritti a un corso collegato.
Chiunque, anche i visitatori non autenticati, può vedere tutti i quiz e tutte le domande dei quiz di LearnDash. Poiché le domande dei quiz sono pubbliche, non possono essere utilizzate per verificare le conoscenze di uno studente.
LearnDash è un plugin di Learning Management System per WordPress. Supporta due diversi tipi di quiz. Il tipo di quiz più vecchio si chiama sfwd-quiz e si basa su domande collegate (sfwd-question). Il tipo di quiz più recente memorizza il quiz insieme alle sue domande come post ld-exam.
LearnDash ha tre API REST: /wp/v2/, /ldlms/v1/ e /ldlms/v2/ (attualmente in beta). Tutte le API, inclusa l'API beta, sono abilitate per impostazione predefinita. Le API /ldlms/v1/ e /ldlms/v2/ possono essere disabilitate per specifici tipi di post utilizzando il filtro learndash_rest_api_enabled (vedere class-ld-rest-api.php).
Le versioni interessate di LearnDash (<=4.10.2) pubblicano tutti i quiz e tutte le domande dei quiz per i visitatori non autenticati. Un visitatore può sfogliare (leggere) tutte le domande chiamando gli endpoint per sfwd-question e ld-exam tramite l'API REST /wp/v2/. Questa API è abilitata per impostazione predefinita.
https://example.com/wp-json/wp/v2/sfwd-question
https://example.com/wp-json/wp/v2/ld-exam
Un visitatore può anche sfogliare (leggere) tutti i quiz chiamando l'endpoint sfwd-quiz tramite l'API /ldlms/v1/. Questa API è abilitata per impostazione predefinita.
https://example.com/wp-json/ldlms/v1/sfwd-quiz
Un visitatore può anche accedere ai quiz tramite l'API /ldlms/v2/ se conosce l'ID del post del quiz (che è semplicemente un intero incrementale).
Le API /ldlms/v1/ e /ldlms/v2/ possono essere disabilitate utilizzando il filtro learndash_rest_api_enabled, ma ciò apre una nuova fuga di dati. Se un amministratore disabilita le API /ldlms/v1/ e /ldlms/v2/ per qualsiasi tipo di post, LearnDash pubblica tutti i contenuti di LearnDash accessibili tramite API REST attraverso l'API /wp/v2/ per i visitatori non autenticati, incluse le lezioni e gli argomenti.
LearnDash 4.10.2 è stato rilasciato il 2024-01-08. Non ha risolto le fughe di dati, ma ha reso possibile disabilitare le API /ldlms/v1/ e /ldlms/v2/ senza rivelare ulteriori informazioni tramite l'API /wp/v2/.
LearnDash 4.10.3 è stato rilasciato il 2024-01-31 e ha risolto le vulnerabilità.
LearnDash ha gestito bene i report di vulnerabilità e ha risolto le vulnerabilità entro la finestra di divulgazione responsabile di 90 giorni.