🇰🇷 한글 설명
PHP 풀스택 웹 프레임워크인 CodeIgniter 4.7.4 미만 버전에서 발생하는 취약점입니다. UploadedFile::move() 함수 호출 시 두 번째 인자를 생략하면 클라이언트가 제공한 파일명을 검증 없이 사용하여, 공격자가 경로 탐색(Path Traversal) 시퀀스를 통해 의도하지 않은 디렉토리에 파일을 쓸 수 있습니다.
💡 쉬운 설명
파일을 업로드할 때 파일 이름에 특수 문자를 섞어 보내면, 서버의 엉뚱한 폴더에 악성 파일을 저장할 수 있는 보안 약점입니다. 이를 통해 해커가 서버의 중요한 시스템 파일을 덮어쓰거나 조작할 위험이 있습니다.
🇺🇸 원문 (English)
CodeIgniter is a PHP full-stack web framework. Prior to 4.7.4, calling UploadedFile::move() without a second argument uses the client-provided filename without sanitization, allowing a remote attacker to use path traversal sequences to write uploaded content outside the intended directory when the application exposes an upload path. This issue is fixed in version 4.7.4.
📍 영향받는 시스템
CodeIgniter 4.7.4 미만 버전
⚔️ 공격 벡터
업로드 파일 이름에 ../ 와 같은 경로 탐색 문자를 포함시켜 전송하는 방식
🛡️ 대응 방법
CodeIgniter를 최신 보안 패치가 적용된 4.7.4 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 정보가 4.7.4 미만인지 확인하여 취약 여부를 판단합니다.
composer show codeigniter4/framework | grep 'versions'