🇰🇷 한글 설명
MacCMS10의 관리자 템플릿 편집기에서 위험한 PHP 함수를 차단하기 위해 블랙리스트 정규식을 사용하지만, exec, passthru, popen 등 주요 함수들이 누락되었습니다. 이로 인해 공격자가 템플릿 콘텐츠를 통해 임의의 명령을 실행할 수 있는 취약점이 존재합니다.
💡 쉬운 설명
관리자 페이지의 템플릿 수정 기능에서 위험한 명령어를 걸러내는 필터가 완벽하지 않습니다. 공격자가 필터링을 피해 시스템 명령어를 실행할 수 있는 보안 구멍이 있습니다.
🇺🇸 원문 (English)
MacCMS10's admin template editor (application/admin/controller/Template.php) blocks dangerous PHP functions in template content via a blacklist regex, but the blacklist omitted exec, passthru, popen, show_source, create_function, register_shutdown_function, register_tick_function, and error_log.
📍 영향받는 시스템
MacCMS10 (application/admin/controller/Template.php 파일 포함 버전)
⚔️ 공격 벡터
관리자 권한을 탈취하거나 획득한 공격자가 템플릿 편집기에 누락된 PHP 함수를 삽입하여 원격 코드 실행(RCE) 수행
🛡️ 대응 방법
블랙리스트 방식 대신 화이트리스트 방식을 도입하거나, 누락된 위험 함수들을 정규식에 추가하여 차단해야 합니다.
🔧 검증 코드
명령어 실행 결과로 해당 함수들이 포함된 정규식 패턴이 출력되면 취약한 상태입니다.
grep -E 'exec|passthru|popen|show_source|create_function|register_shutdown_function|register_tick_function|error_log' application/admin/controller/Template.php