
Offenlegung sensibler Informationen durch Aufgaben in LearnDash.
Exposition sensibler Informationen durch Aufgaben in LearnDash. Nicht authentifizierte Besucher können hochgeladene Aufgaben durchsuchen und herunterladen.
Jeder, einschließlich nicht authentifizierter Besucher, kann alle hochgeladenen LearnDash-Aufgaben einsehen. Da die Aufgaben öffentlich sind, kann jeder, der von dieser Schwachstelle weiß, die hochgeladenen Dokumente lesen (was potenzielle DSGVO-Verstöße verursacht). Die Schwachstelle kann ausgenutzt werden, ohne ein Konto auf der Website zu haben.
LearnDash ist ein Learning-Management-System-Plugin für WordPress.
Die betroffenen Versionen von LearnDash (<=4.10.1) speichern hochgeladene Aufgabendateien in Ordnern ohne Zugriffsschutz. Wenn ein Benutzer eine Aufgabendatei hochlädt, legt LearnDash die Datei in /wp-content/uploads/assignments/ ab. Die Datei behält ihren ursprünglichen Namen, wird jedoch mit der Post-ID, von der sie hochgeladen wurde, und dem Unix-Zeitstempel vorangestellt.
LearnDash hat drei REST-APIs: /wp/v2/, /ldlms/v1/ und /ldlms/v2/ (derzeit in Beta). Alle APIs, einschließlich der Beta-API, sind standardmäßig aktiviert. Die /ldlms/v1/- und /ldlms/v2/-APIs können für bestimmte Beitragstypen mithilfe des Filters learndash_rest_api_enabled deaktiviert werden (siehe class-ld-rest-api.php).
Jeder, einschließlich nicht authentifizierter Besucher, kann jede hochgeladene Aufgabendatei herunterladen, indem er einfach den Dateinamen kennt.
LearnDash hängt jedem hochgeladenen Dateinamen einen Zeitstempel an, um das Erraten des Namens zu erschweren, aber Zeitstempel sind durch Brute-Force ermittelbar. Leider muss ein nicht authentifizierter Besucher, der hochgeladene Aufgaben lesen möchte, nicht einmal Dateinamen erraten. Die betroffenen Versionen von LearnDash (<=4.10.1) veröffentlichen alle eingereichten Aufgaben für nicht authentifizierte Besucher über die REST-API. Ein Besucher muss lediglich den Endpunkt für sfwd-assignment über die /wp/v2/ REST-API aufrufen. Die Antwort enthält Pfade zu den hochgeladenen Dateien, und der Besucher kann sie herunterladen, ohne sich anzumelden.
https://example.com/wp-json/wp/v2/sfwd-assignment
LearnDash 4.10.2 wurde am 2024-01-08 veröffentlicht. Es behob das Problem mit der Offenlegung von Aufgabendateipfaden über die REST-API. CVE-2024-1208 und CVE-2024-1210 blieben bestehen.
LearnDash 4.10.3 wurde am 2024-01-31 veröffentlicht. Es verlagerte den Dateispeicherort in einen geschützten Ordner und führte dynamische Download-Links ein, um unbefugten Zugriff zu verhindern.
LearnDash hat den Schwachstellenbericht gut behandelt und die Schwachstelle innerhalb des 90-tägigen Zeitfensters für verantwortungsvolle Offenlegung behoben.