🇰🇷 한글 설명
Open edX Platform에서 python_lib.zip 자산에 대한 접근 제어가 부족하여, 인증되지 않은 사용자가 커스텀 채점 코드나 과제 답이 포함된 파일을 다운로드할 수 있습니다. 이는 커스텀 Python 채점 문제를 사용하는 모든 강좌에 영향을 미칩니다.
💡 쉬운 설명
Online 학습 플랫폼인 Open edX에서 강좌의 답과 채점 코드가 들어있는 파일을 누구나 다운로드할 수 있는 보안 문제입니다. 강좌 담당자만 접근하도록 제한해야 합니다.
🇺🇸 원문 (English)
The Open edX Platform is a learning management platform. Prior to commit 6740e75c0fdc7ba095baf88e9f5e4f3e15cfd8ba, edxapp has no built-in protection against downloading the python_lib.zip asset from courses, which is a concern since it often contains custom grading code or answers to course problems. This potentially affects any course using custom Python-graded problem blocks. The openedx/configuration repo has had a patch since 2016 in the form of an nginx rule, but this was only intended as a temporary mitigation. As the configuration repo has been deprecated and we have not been able to locate any similar protection in Tutor, it is likely that most deployments have no protection against python_lib.zip being downloaded. The recommended mitigation, implemented in commit 6740e75c0fdc7ba095baf88e9f5e4f3e15cfd8ba, restricts python_lib.zip downloads to just the course team and site staff/superusers.
📍 영향받는 시스템
Open edX Platform (commit 6740e75c0fdc7ba095baf88e9f5e4f3e15cfd8ba 이전 버전)
⚔️ 공격 벡터
미인증 사용자가 강좌 URL을 통해 직접 python_lib.zip 파일에 접근하여 다운로드
🛡️ 대응 방법
Open edX를 commit 6740e75c0fdc7ba095baf88e9f5e4f3e15cfd8ba 이후 버전으로 업그레이드하거나 nginx 규칙으로 python_lib.zip 접근 제한
🔧 검증 코드
HTTP 403(Forbidden) 또는 401(Unauthorized)이 반환되면 보호됨. 200이 반환되면 취약함
curl -I https://[edx-domain]/api/courses/[course-id]/python_lib.zip 2>&1 | grep -E 'HTTP|403|401'