🇰🇷 한글 설명
WordPress용 LearnPress LMS 플러그인의 특정 버전에서 부적절한 직접 객체 참조(IDOR) 취약점이 발견되었습니다. 공격자는 인증 없이도 특정 엔드포인트를 통해 유료 강의나 등록이 필요한 강의에 포함된 학습 자료 파일을 무단으로 읽고 다운로드할 수 있습니다.
💡 쉬운 설명
유료 강의의 자료를 몰래 볼 수 있는 보안 구멍이 발견되었습니다. 공격자가 파일 번호만 바꾸면 결제하지 않은 강의의 자료까지 마음대로 가져갈 수 있는 상태입니다.
🇺🇸 원문 (English)
The LearnPress – WordPress LMS Plugin for Create and Sell Online Courses plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to, and including, 4.4.8 via the CourseMaterialTemplate::render_material_items() callback exposed on the public lp-ajax-handle (load_content_via_ajax) endpoint. The endpoint is explicitly listed in the AbstractAjax no-nonce allowlist and performs no capability check, and the render_material_items() handler decides authorization against one attacker-supplied identifier (course_id) while fetching the returned material rows via a second, independently attacker-supplied identifier (item_id) with no check that the lesson belongs to the authorized course. This makes it possible for unauthenticated attackers to read and download course-material files (uploaded and external file paths/URLs) belonging to lessons in paid or enrollment-required courses, provided any single course on the site has 'No Required Enroll' enabled and owns at least one material file.
📍 영향받는 시스템
LearnPress – WordPress LMS Plugin (버전 4.4.8 이하)
⚔️ 공격 벡터
인증되지 않은 공격자가 조작된 course_id와 item_id를 포함한 AJAX 요청을 전송하여 자료 파일에 접근
🛡️ 대응 방법
LearnPress 플러그인을 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 LearnPress 플러그인의 버전을 확인하여 4.4.8 이하인지 점검하십시오.
wp plugin list --status=active | grep -i 'learnpress'