
Detaillierte Offenlegung von CVE-2024-1208 und CVE-2024-1210: Offenlegung sensibler Informationen über die REST-API im LearnDash WordPress-Plugin, die unauthentifizierten Zugriff auf Quiz und Fragen ermöglicht.
Offenlegung sensibler Informationen über die API in LearnDash. Nicht authentifizierte Besucher können die Quizze und Quizfragen durchsuchen, ohne in einem verbundenen Kurs eingeschrieben zu sein.
Jeder, selbst nicht authentifizierte Besucher, kann alle LearnDash-Quizze und LearnDash-Quizfragen sehen. Da die Quizfragen öffentlich sind, können sie nicht zur Überprüfung des Wissens eines Schülers verwendet werden.
LearnDash ist ein Plugin für Lernmanagementsysteme für WordPress. Es unterstützt zwei verschiedene Arten von Quizzen. Der ältere Quiztyp heißt sfwd-quiz und basiert auf verknüpften Fragen (sfwd-question). Der neuere Quiztyp speichert das Quiz zusammen mit seinen Fragen als ld-exam-Beiträge.
LearnDash hat drei REST-APIs: /wp/v2/, /ldlms/v1/ und /ldlms/v2/ (derzeit in der Beta-Phase). Alle APIs, einschließlich der Beta-API, sind standardmäßig aktiviert. Die /ldlms/v1/- und /ldlms/v2/-APIs können für bestimmte Beitragstypen mit dem Filter learndash_rest_api_enabled deaktiviert werden (siehe class-ld-rest-api.php).
Die betroffenen Versionen von LearnDash (<=4.10.2) veröffentlichen alle Quizze und Quizfragen für nicht authentifizierte Besucher. Ein Besucher kann alle Fragen durchsuchen (lesen), indem er die Endpunkte für sfwd-question und ld-exam über die /wp/v2/-REST-API aufruft. Diese API ist standardmäßig aktiviert.
https://example.com/wp-json/wp/v2/sfwd-question
https://example.com/wp-json/wp/v2/ld-exam
Ein Besucher kann auch alle Quizze durchsuchen (lesen), indem er den sfwd-quiz-Endpunkt über die /ldlms/v1/-API aufruft. Diese API ist standardmäßig aktiviert.
https://example.com/wp-json/ldlms/v1/sfwd-quiz
Ein Besucher kann auch über die /ldlms/v2/-API auf Quizze zugreifen, wenn der Besucher die Quiz-Beitrags-ID kennt (die lediglich eine aufsteigende Ganzzahl ist).
Die /ldlms/v1/- und /ldlms/v2/-APIs können mit dem Filter learndash_rest_api_enabled deaktiviert werden, aber das öffnet ein neues Datenleck. Wenn ein Administrator die /ldlms/v1/- und /ldlms/v2/-API für einen beliebigen Beitragstyp deaktiviert, veröffentlicht LearnDash alle über die REST-API zugänglichen LearnDash-Inhalte über die /wp/v2/-API für nicht authentifizierte Besucher, einschließlich Lektionen und Themen.
LearnDash 4.10.2 wurde am 08.01.2024 veröffentlicht. Es behob die Datenlecks nicht, machte es jedoch möglich, die /ldlms/v1/- und /ldlms/v2/-APIs zu deaktivieren, ohne noch mehr Informationen über die /wp/v2/-API preiszugeben.
LearnDash 4.10.3 wurde am 31.01.2024 veröffentlicht und behob die Schwachstellen.
LearnDash hat die Schwachstellenmeldungen gut behandelt und die Schwachstellen innerhalb des 90-tägigen Fensters für verantwortungsvolle Offenlegung behoben.