
CVE-2024-1208 및 CVE-2024-1210의 상세 공개: LearnDash WordPress 플러그인의 REST API를 통한 민감한 정보 노출로, 인증되지 않은 사용자가 퀴즈와 질문에 접근할 수 있습니다.
LearnDash API를 통한 민감한 정보 노출. 인증되지 않은 방문자는 연결된 과정에 등록하지 않고도 퀴즈와 퀴즈 문제를 열람할 수 있습니다.
누구나, 심지어 인증되지 않은 방문자도 모든 LearnDash 퀴즈와 LearnDash 퀴즈 문제를 볼 수 있습니다. 퀴즈 문제가 공개되어 있으므로 학생의 지식을 확인하는 데 사용할 수 없습니다.
LearnDash는 WordPress용 학습 관리 시스템 플러그인입니다. 두 가지 유형의 퀴즈를 지원합니다. 오래된 퀴즈 유형은 sfwd-quiz라고 하며 연결된 질문(sfwd-question)에 의존합니다. 새로운 퀴즈 유형은 퀴즈와 그 질문을 ld-exam 게시물로 저장합니다.
LearnDash에는 세 가지 REST API가 있습니다: /wp/v2/, /ldlms/v1/, /ldlms/v2/ (현재 베타). 베타 API를 포함한 모든 API는 기본적으로 활성화되어 있습니다. /ldlms/v1/ 및 /ldlms/v2/ API는 learndash_rest_api_enabled 필터를 사용하여 특정 게시물 유형에 대해 비활성화할 수 있습니다 (class-ld-rest-api.php 참조).
영향을 받는 LearnDash 버전(<=4.10.2)은 인증되지 않은 방문자에게 모든 퀴즈와 퀴즈 문제를 공개합니다. 방문자는 /wp/v2/ REST API를 통해 sfwd-question 및 ld-exam 엔드포인트를 호출하여 모든 질문을 탐색(읽기)할 수 있습니다. 이 API는 기본적으로 활성화되어 있습니다.
https://example.com/wp-json/wp/v2/sfwd-question
https://example.com/wp-json/wp/v2/ld-exam
방문자는 /ldlms/v1/ API를 통해 sfwd-quiz 엔드포인트를 호출하여 모든 퀴즈를 탐색(읽기)할 수도 있습니다. 이 API는 기본적으로 활성화되어 있습니다.
https://example.com/wp-json/ldlms/v1/sfwd-quiz
방문자가 퀴즈 게시물 ID(단순히 증가하는 정수)를 알고 있으면 /ldlms/v2/ API를 통해 퀴즈에 접근할 수도 있습니다.
/ldlms/v1/ 및 /ldlms/v2/ API는 learndash_rest_api_enabled 필터를 사용하여 비활성화할 수 있지만, 이는 새로운 데이터 유출을 야기합니다. 관리자가 특정 게시물 유형에 대해 /ldlms/v1/ 및 /ldlms/v2/ API를 비활성화하면 LearnDash는 인증되지 않은 방문자에게 /wp/v2/ API를 통해 모든 REST API 접근 가능한 LearnDash 콘텐츠(수업 및 주제 포함)를 공개합니다.
LearnDash 4.10.2는 2024-01-08에 출시되었습니다. 이 버전은 데이터 유출을 해결하지는 않았지만, /wp/v2/ API를 통해 더 많은 정보를 노출하지 않고 /ldlms/v1/ 및 /ldlms/v2/ API를 비활성화할 수 있게 했습니다.
LearnDash 4.10.3는 2024-01-31에 출시되었고 취약점을 해결했습니다.
LearnDash는 취약점 보고를 잘 처리했으며 90일 책임 공개 기간 내에 취약점을 해결했습니다.