🇰🇷 한글 설명
WordPress용 WP Courses LMS 플러그인의 모든 버전(3.2.29 포함)에서 IDOR(부적절한 직접 객체 참조) 취약점이 발견되었습니다. 인증된 공격자가 'resultID' 매개변수를 조작하여 다른 사용자의 퀴즈 정답과 점수를 무단으로 조회할 수 있습니다. 해당 엔드포인트는 논스(nonce) 체크만 수행할 뿐 적절한 권한 검증이 결여되어 있습니다.
💡 쉬운 설명
로그인한 사용자가 숫자를 하나씩 바꿔가며 입력하면 다른 사람이 푼 시험 정답과 점수를 몰래 훔쳐볼 수 있는 보안 결함입니다. 시스템이 '누가 이 정보를 볼 권한이 있는지' 제대로 확인하지 않기 때문에 발생합니다.
🇺🇸 원문 (English)
The WP Courses LMS – Online Courses Builder, eLearning Courses, Courses Solution, Education Courses plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 3.2.29 via the 'resultID' parameter due to missing validation on a user controlled key. This makes it possible for authenticated attackers, with custom-level access and above, to read any other user's quiz answers and scores by enumerating the incrementing resultID value via the wpcq_get_quiz_result AJAX action. The only access control on this endpoint is a nonce check (wpc_nonce) that is exposed to every logged-in user on the frontend, providing no meaningful authorization barrier.
📍 영향받는 시스템
WP Courses LMS 플러그인 3.2.29 이하 모든 버전
⚔️ 공격 벡터
인증된 공격자가 wpcq_get_quiz_result AJAX 액션의 resultID 값을 순차적으로 변경하여 데이터 탈취
🛡️ 대응 방법
플러그인을 최신 버전으로 업데이트하거나, 해당 API 호출 시 사용자 권한을 검증하는 로직을 추가해야 함
🔧 검증 코드
출력된 플러그인 목록에서 WP Courses LMS의 버전을 확인하여 3.2.29 이하인지 체크
wp plugin list --status=active | grep -i 'wp-courses-lms'