LearnHouse 과제 API 권한 검증 누락 취약점 (CVE-2026-120199) 분석 및 대응 가이드
실무자 핵심 요약 (Executive Summary)
SECOPS ASSESSMENTLearnHouse 1.1.1 미만 버전
인증된 사용자가 타 사용자의 ID를 악용하여 과제 제출물, 성적 및 강사 피드백을 무단 조회할 수 있는 정보 유출 위험이 존재합니다
LearnHouse 버전을 1.1.1 이상으로 즉시 업그레이드하고 API 접근 제어 정책을 강화하십시오
영향받는 제품 및 버전 범위
권장 패치 및 임시 완화(Workaround) 가이드
패치 및 우회 명령어1. 공식 보안 패치 및 버전 업그레이드 명령어
LearnHouse 공식 리포지토리의 패치 커밋이 반영된 1.1.1 버전 이상으로 업그레이드를 수행해야 합니다. Docker Compose 환경을 사용하는 경우 아래 명령어를 통해 최신 이미지로 갱신하십시오.
# LearnHouse 디렉토리로 이동
cd /path/to/learnhouse
# 환경 변수 파일 또는 docker-compose.yml의 이미지 태그를 1.1.1 이상으로 변경 후 재시작
sed -i 's/:1.1.0/:1.1.1/g' docker-compose.yml
# 컨테이너 재빌드 및 백그라운드 실행
docker-compose down
docker-compose up -d --build2. 패치 전 임시 완화(Workaround) 및 접근 제어 설정
즉각적인 패치가 어려운 경우, 리버스 프록시(Nginx 등) 단에서 API 요청의 경로 패턴을 분석하여 비정상적인 타인 ID 조회를 차단하거나 임시로 과제 API 엔드포인트에 대한 접근을 제한할 수 있습니다.
# Nginx 설정 예시: 특정 과제 API 경로에 대한 임시 모니터링 및 제한
location ~* /api/v1/courses/activities/assignments/.*/submissions {
# 임시로 강사 및 관리자 IP 대역만 허용하거나 세션 검증 로직 강화 전까지 모니터링 로그 기록
access_log /var/log/nginx/assignments_api_access.log;
proxy_pass http://learnhouse_backend;
}3. 침해 흔적(IoC) 및 로그·버전 점검 스크립트
컨테이너 내부 또는 애플리케이션 로그에서 본인 세션 정보와 다른 user_id를 지속적으로 요청한 비정상적인 API 호출 이력을 탐지하는 파이썬 스크립트 예시입니다.
# API 컨테이너 로그에서 특정 과제 제출물 조회 패턴 및 다중 user_id 요청 탐지
docker logs learnhouse-api-1 2>&1 | grep -E '/assignments/.*(submissions|grade)' | awk -F'?' '{print $2}' | grep -o 'user_id=[^&]*' | sort | uniq -c코드 수정 전에도 가상 패치(Virtual Patching)로 웹 공격을 즉시 차단하세요
서버 재시작이나 긴급 패치가 어려운 운영 환경이라면 클라우드 WAF 관리형 룰셋을 활성화하여 SQLi, RCE, XSS 익스플로잇 페이로드를 엣지에서 1분 만에 차단할 수 있습니다.
취약점 발생 원리 및 공격 메커니즘
1. 취약점 개요 및 발생 원인 (Root Cause)
본 취약점(CVE-2026-120199)은 오픈소스 교육 플랫폼인 LearnHouse의 과제(Assignment) API 엔드포인트에서 발생한 권한 검증 누락(Missing Authorization) 취약점입니다. 구체적으로, 사용자 제어 입력값에 대한 적절한 소유권 검증이 결여되어 발생하는 IDOR(Insecure Direct Object Reference, CWE-639) 취약점의 전형적인 사례입니다. API 서버가 요청을 처리할 때, 요청을 보낸 세션 사용자의 권한과 요청 본문 또는 쿼리 매개변수에 포함된 대상 사용자 ID(user_id) 간의 일치 여부를 검증하지 않아 발생합니다.
2. 공격 메커니즘 및 익스플로잇 시나리오
공격자는 플랫폼에 로그인된 일반 학생 계정(인증된 사용자) 권한을 가집니다. 공격자는 과제 성적 조회 엔드포인트(submissions grade) 또는 제출물 조회 함수를 호출할 때, 자신의 user_id 대신 타인의 user_id를 파라미터로 변조하여 API 요청을 전송합니다. API 서버(apps/api/src/services/courses/activities/assignments.py)는 요청자의 세션 권한이 해당 user_id 데이터에 접근할 권한이 있는지(예: 본인의 데이터이거나 강사/관리자 권한인지) 검증하지 않고 데이터를 반환합니다. 이로 인해 공격자는 다른 학생들의 과제 제출물, 취득 성적, 그리고 강사가 작성한 비공개 피드백까지 모두 탈취할 수 있습니다.
3. 비즈니스 및 인프라 파급 영향
교육 플랫폼에서 학생들의 성적 및 과제 제출물은 민감한 개인정보 및 학업 데이터에 해당합니다. 본 취약점이 방치될 경우, 학생 간의 성적 정보 유출로 인한 프라이버시 침해 및 신뢰도 저하가 발생할 수 있습니다. 또한, 대규모 스크래핑 스크립트를 통해 플랫폼 내 전체 사용자의 학습 데이터를 일괄 탈취하는 2차 피해로 이어질 수 있어 비즈니스 평판에 심각한 타격을 줄 수 있습니다.
공식 보안 권고문 및 참조 링크
LearnHouse before 1.1.1 contains a missing authorization vulnerability in the assignment API that allows authenticated users to read other users' grades and submissions. Attackers can supply another user_id to the submissions grade endpoint or query submission read functions to view other students' work, grades and instructor feedback.
자주 묻는 실무 질문 (FAQ — CVE-2026-120199)
FAQQ1. CVE-2026-120199 취약점의 위험도와 실제 악용 가능성은 어느 정도입니까?
CVE-2026-120199의 기본 점수는 CVSS 4.3 (MEDIUM)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 0.2%입니다. 외부 네트워크 노출 여부에 따라 선제적인 패치 및 접근 제어가 권장됩니다.
Q2. CVE-2026-120199에 영향을 받는 벤더와 제품은 무엇입니까?
주요 영향 벤더는 learnhouse이며, 대상 컴포넌트는 learnhouse입니다. 상세 영향 범위: LearnHouse 1.1.1 미만 모든 버전 (1.1.0 및 하위 버전 포함)
Q3. 서버 재기동이나 정규 패치 전 즉시 적용할 수 있는 완화 조치(Workaround)는 무엇입니까?
[권장 조치] LearnHouse 버전을 1.1.1 이상으로 즉시 업그레이드하고 API 접근 제어 정책을 강화하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.
CVE-2026-120199 사내 보안 패치 공지문 · CISO 경영진 보고서 초안 자동 생성
클릭 한 번으로 사내 이메일·노션·결재 문서에 바로 붙여넣을 수 있는 공식 보고서 양식을 생성합니다.
🔗 함께 점검해야 할 동일 벤더·스택 연관 취약점 (learnhouse)
동일 카테고리 전체 보기 →Langflow /api/v1/responses IDOR 취약점을 통한 타 사용자 워크플로우 원격 실행 취약점 (CVE-2026-55255)
[영향 대상] Langflow 1.9.1 미만 버전
IXP Manager API 키 관리 취약점(IDOR)을 통한 타 사용자 권한 탈취 보안 권고 (CVE-2026-63338)
[영향 대상] IXP Manager 7.3.0 미만 버전을 사용하는 모든 인터넷 교환 지점(IXP) 관리 시스템
Nexterm 1.2.2-BETA 이하 버전 세션 라이프사이클 경로 권한 검증 누락 취약점 (CVE-2026-120200)
[영향 대상] Nexterm 1.2.2-BETA 이하 버전을 사용하는 모든 인프라 환경
YITH WooCommerce Product Add-Ons 인증 우회 취약점 보안 권고 (CVE-2026-107868)
[영향 대상] YITH WooCommerce Product Add-Ons 플러그인 4.34.0 이하 버전
일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독
보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.