🇰🇷 한글 설명
ATutor 1.5.3.2의 PHP 원격 파일 포함(RFI) 취약점으로, section, req_lang, row[dir_name], lang_path 등 여러 파라미터가 필터링되지 않아 공격자가 원격 PHP 파일을 포함시켜 임의의 코드를 실행할 수 있습니다. 인증 없이 원격에서 공격 가능합니다.
💡 쉬운 설명
ATutor 학습관리시스템의 웹페이지들이 URL 파라미터를 검증하지 않아, 공격자가 인터넷의 악성 PHP 파일을 실행시킬 수 있습니다. 로그인이 필요 없어 누구나 공격할 수 있습니다.
🇺🇸 원문 (English)
Multiple PHP remote file inclusion vulnerabilities in ATutor 1.5.3.2 allow remote attackers to execute arbitrary PHP code via a URL in the (1) section parameter in (a) documentation/common/frame_toc.php and (b) documentation/common/search.php, the (2) req_lang parameter in documentation/common/search.php and (c) documentation/common/vitals.inc.php, the (3) row[dir_name] parameter in (d) include/classes/module/module.class.php, and the (4) lang_path parameter in (e) include/classes/phpmailer/class.phpmailer.php. NOTE: the print.php vector is already covered by CVE-2005-3404.
📍 영향받는 시스템
ATutor 버전 1.5.3.2 및 이하
⚔️ 공격 벡터
PHP 파일 (documentation/common/frame_toc.php, search.php, vitals.inc.php, include/classes/module/module.class.php, include/classes/phpmailer/class.phpmailer.php)의 파라미터를 통한 원격 코드 실행
🛡️ 대응 방법
ATutor를 최신 버전으로 업그레이드하거나, 모든 파라미터(section, req_lang, row[dir_name], lang_path)에 대해 화이트리스트 검증 및 경로 분석(realpath) 검증을 구현하세요.
🔧 검증 코드
입력 변수가 include/require에 직접 사용되는 부분을 찾습니다. 필터링 또는 검증 함수가 없으면 취약합니다.
grep -rn 'include.*\$\(section\|req_lang\|lang_path\|row\[dir_name\]\)' /path/to/attutor/ 2>/dev/null