
Esposizione di informazioni sensibili tramite compiti in LearnDash.
Esposizione di informazioni sensibili tramite gli assignment in LearnDash. Visitatori non autenticati possono sfogliare e scaricare gli assignment caricati.
Chiunque, inclusi i visitatori non autenticati, può vedere tutti gli assignment caricati di LearnDash. Poiché gli assignment sono pubblici, chiunque sia a conoscenza di questa vulnerabilità può leggere i documenti caricati (causando potenziali incidenti GDPR). La vulnerabilità può essere sfruttata senza avere un account sul sito.
LearnDash è un plugin di sistema di gestione dell'apprendimento per WordPress.
Le versioni affette di LearnDash (<=4.10.1) memorizzano i file degli assignment caricati in cartelle senza protezione di accesso. Quando un utente carica un file di assignment, LearnDash inserisce il file in /wp-content/uploads/assignments/. Il file mantiene il suo nome originale, sebbene sia preceduto dall'ID del post da cui è stato caricato e dal timestamp Unix.
LearnDash ha tre API REST: /wp/v2/, /ldlms/v1/ e /ldlms/v2/ (attualmente in beta). Tutte le API, inclusa quella 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 (vedi class-ld-rest-api.php).
Chiunque, inclusi i visitatori non autenticati, può scaricare qualsiasi file di assignment caricato semplicemente conoscendo il nome del file.
LearnDash aggiunge un timestamp a ogni nome di file caricato per rendere più difficile indovinare il nome, ma i timestamp possono essere forzati. Sfortunatamente, un visitatore non autenticato che vuole leggere gli assignment caricati non deve nemmeno forzare alcun nome di file. Le versioni affette di LearnDash (<=4.10.1) pubblicano tutti gli assignment inviati ai visitatori non autenticati tramite l'API REST. Tutto ciò che un visitatore deve fare è chiamare l'endpoint per sfwd-assignment tramite l'API REST /wp/v2/. La risposta include i percorsi dei file caricati e il visitatore può scaricarli senza effettuare il login.
https://example.com/wp-json/wp/v2/sfwd-assignment
LearnDash 4.10.2 è stato rilasciato il 2024-01-08. Ha affrontato il problema della fuga dei percorsi dei file degli assignment attraverso l'API REST. CVE-2024-1208 e CVE-2024-1210 persistevano.
LearnDash 4.10.3 è stato rilasciato il 2024-01-31. Ha spostato la posizione di archiviazione dei file in una cartella protetta e ha introdotto link di download dinamici per impedire l'accesso non autorizzato.
LearnDash ha gestito bene il rapporto di vulnerabilità e ha risolto la vulnerabilità entro la finestra di divulgazione responsabile di 90 giorni.