🇰🇷 한글 설명
KodExplorer 4.55 미만 버전의 unzip_pre_name() 함수에서 경로 탐색 취약점이 발견되었습니다. 공격자는 특수하게 조작된 ZIP 파일을 업로드하여 파일 시스템의 임의 파일을 덮어쓸 수 있으며, 이를 통해 XSS 및 관리자 권한 탈취, 최종적으로 원격 코드 실행(RCE)까지 가능합니다.
💡 쉬운 설명
압축 파일을 풀 때 파일 이름 검사가 제대로 되지 않아, 공격자가 시스템의 중요한 파일을 마음대로 바꿀 수 있는 문제입니다. 이를 통해 해커가 관리자 권한을 뺏거나 서버를 완전히 장악할 수 있습니다.
🇺🇸 원문 (English)
KodExplorer before 4.55 contains a path traversal vulnerability in the unzip_pre_name() function within app/function/helper.function.php, where a single non-recursive str_replace() sanitization pass can be bypassed using crafted filenames like "....//", combined with PclZip's extract() call in KodArchive.class.php lacking the PCLZIP_OPT_EXTRACT_DIR_RESTRICTION option. Authenticated attackers can upload a malicious ZIP archive with traversal sequences to overwrite arbitrary files such as core JavaScript assets, enabling stored XSS that leads to admin account takeover and subsequent remote code execution via unrestricted PHP file upload.
📍 영향받는 시스템
KodExplorer version < 4.55
⚔️ 공격 벡터
인증된 공격자가 경로 탐색 시퀀스가 포함된 악성 ZIP 파일을 업로드하여 파일 덮어쓰기 수행
🛡️ 대응 방법
KodExplorer를 최신 버전으로 업데이트하거나 PclZip 추출 시 디렉토리 제한 옵션을 적용해야 함
🔧 검증 코드
해당 함수가 존재하는 파일 경로와 내용을 확인하여 취약한 버전의 코드 포함 여부를 판단합니다.
grep -r "unzip_pre_name" /path/to/kodexplorer/app/function/helper.function.php