🇰🇷 한글 설명
CI4MS의 Theme::upload 함수가 ZIP 파일 항목 이름을 검증하지 않아 Zip Slip 취약점이 발생합니다. 인증된 백엔드 사용자가 임의의 파일 시스템 위치에 파일을 쓸 수 있으며, 웹 루트 아래에 PHP 파일을 떨어뜨려 원격 코드 실행(RCE)을 달성할 수 있습니다. 버전 0.31.5.0에서 패치되었습니다.
💡 쉬운 설명
CI4MS 웹 관리 시스템에서 ZIP 파일 업로드 시 파일 저장 위치를 검증하지 않아, 권한 있는 사용자가 악성 코드를 웹 서버에 설치할 수 있습니다. 버전을 0.31.5.0 이상으로 업그레이드하면 됩니다.
🇺🇸 원문 (English)
CI4MS is a CodeIgniter 4-based CMS skeleton that delivers a production-ready, modular architecture with RBAC authorization and theme support. Prior to version 0.31.5.0, ci4ms Theme::upload extracts user uploaded ZIP archives without validating entry names, allowing an authenticated backend user with the theme create permission to write files to arbitrary filesystem locations (Zip Slip) and achieve remote code execution by dropping a PHP file under the public web root. This issue has been patched in version 0.31.5.0.
📍 영향받는 시스템
CI4MS 0.31.5.0 미만 모든 버전
⚔️ 공격 벡터
테마 생성 권한을 가진 인증된 사용자가 조작된 ZIP 파일(상대 경로 포함)을 업로드하여 임의 파일 쓰기
🛡️ 대응 방법
CI4MS를 0.31.5.0 이상으로 업그레이드
🔧 검증 코드
버전이 0.31.5.0 이상이면 안전하고, 그 미만이면 취약합니다.
composer show ci4ms 2>/dev/null | grep version | head -1