🇰🇷 한글 설명
ATutor 2.2 패치 6 이전 버전의 mods/_core/properties/lib/course.inc.php에 있는 무제한 파일 업로드 취약점입니다. 인증된 원격 사용자가 새 과정의 커스텀 아이콘으로 PHP 파일을 업로드하고 content/ 디렉토리를 통해 직접 접근하여 임의의 PHP 코드를 실행할 수 있습니다.
💡 쉬운 설명
ATutor에서 강좌 아이콘을 업로드할 때 파일 타입을 제대로 검증하지 않아서, 악의적인 사용자가 PHP 코드가 담긴 파일을 올리고 직접 실행할 수 있습니다. 이를 통해 서버 전체를 제어할 수 있게 됩니다.
🇺🇸 원문 (English)
Unrestricted file upload vulnerability in mods/_core/properties/lib/course.inc.php in ATutor before 2.2 patch 6 allows remote authenticated users to execute arbitrary PHP code by uploading a file with a PHP extension as a customicon for a new course, then accessing it via a direct request to the file in content/.
📍 영향받는 시스템
ATutor 2.2 패치 6 이전 모든 버전
⚔️ 공격 벡터
인증 후 과정 생성 시 customicon으로 PHP 파일 업로드 → content/경로를 통한 직접 접근 및 코드 실행
🛡️ 대응 방법
ATutor를 2.2 패치 6 이상으로 업그레이드하거나 course.inc.php의 파일 확장자 검증 로직을 추가 (화이트리스트 방식: jpg, png, gif만 허용)
🔧 검증 코드
course.inc.php 파일이 존재하고 ATutor 버전이 2.2 패치 6 미만이면 취약합니다. 파일이 없거나 버전이 높으면 안전합니다.
find / -name 'course.inc.php' -path '*_core/properties*' 2>/dev/null && grep -E 'version.*2\.[01]|2\.2p[0-5]' /var/www/html/atutor/include/config.inc.php 2>/dev/null | head -1