🇰🇷 한글 설명
Chamilo LMS의 음성 업로드 기능에서 Content-Type 헤더를 조작하여 인증된 교사가 PHP 웹쉘을 업로드할 수 있는 파일 업로드 취약점입니다. 업로드된 파일은 원본 .php 확장자를 유지하며 웹 접근 가능한 디렉토리에 배치되어 웹 서버 사용자(www-data) 권한으로 원격 코드 실행을 가능하게 합니다.
💡 쉬운 설명
Chamilo LMS라는 학습 관리 시스템에서 교사가 음악 파일로 위장한 PHP 프로그램을 업로드할 수 있는 보안 문제입니다. 이를 통해 공격자가 서버를 완전히 제어할 수 있습니다.
🇺🇸 원문 (English)
Chamilo LMS is a learning management system. Prior to 1.11.38 and 2.0.0-RC.3, an unrestricted file upload vulnerability in the exercise sound upload function allows an authenticated teacher to upload a PHP webshell by spoofing the Content-Type header to audio/mpeg. The uploaded file retains its original .php extension and is placed in a web-accessible directory, enabling Remote Code Execution as the web server user (www-data). This vulnerability is fixed in 1.11.38 and 2.0.0-RC.3.
📍 영향받는 시스템
Chamilo LMS 1.11.38 미만, 2.0.0-RC.3 미만
⚔️ 공격 벡터
인증된 교사 계정으로 운동 음성 업로드 시 Content-Type을 audio/mpeg으로 위장하여 PHP 파일 업로드
🛡️ 대응 방법
Chamilo LMS를 1.11.38 또는 2.0.0-RC.3 이상으로 업그레이드
🔧 검증 코드
버전 정보 출력이 1.11.38 이상 또는 2.0.0-RC.3 이상이면 안전, 그 미만이면 취약함.
grep -E 'SYSTEM_VERSION|version' /var/www/html/chamilo/main/inc/conf/version.php 2>/dev/null | head -1