🇰🇷 한글 설명
C97net qEngine CMS 6.0.0 이하, Kemana Directory 1.5.6 이하, Cart Engine 3.0.0 이하 버전의 관리자 이미지 필드에 무제한 파일 업로드 취약점이 존재합니다. 편집자(Editor) 권한을 가진 사용자가 page_image 또는 cat_image 매개변수를 통해 PHP 스크립트를 업로드하고, 웹에서 접근 가능한 /public/image 디렉터리에 저장된 해당 파일을 요청하여 서버에서 코드를 실행할 수 있습니다.
💡 쉬운 설명
이미지를 올리는 기능에서 파일 종류를 제대로 확인하지 않아, 악성 프로그램 파일도 올릴 수 있습니다. 이렇게 올린 파일을 실행하면 공격자가 서버를 장악할 수 있습니다.
🇺🇸 원문 (English)
C97net qEngine CMS through 6.0.0, Kemana Directory through 1.5.6, and Cart Engine through 3.0.0 contain an unrestricted file upload vulnerability in administrative image fields. Editor-role users can upload PHP scripts via the page_image or cat_image parameters to the web-accessible /public/image directory and request them to execute code on the server.
📍 영향받는 시스템
C97net qEngine CMS 6.0.0 이하, Kemana Directory 1.5.6 이하, Cart Engine 3.0.0 이하
⚔️ 공격 벡터
편집자 권한 계정으로 로그인한 뒤 page_image 또는 cat_image 매개변수로 PHP 파일을 업로드하고 /public/image 경로에서 해당 파일을 요청하여 원격 코드를 실행
🛡️ 대응 방법
해당 제품을 최신 보안 패치 버전으로 업데이트하고, 업로드 파일의 확장자와 MIME 타입을 서버에서 검증하며, 업로드 디렉터리에서 스크립트 실행을 차단
🔧 검증 코드
출력 결과에 파일이 나타나면 업로드 디렉터리에 PHP 파일이 존재하는 것이므로 침해 여부를 즉시 조사해야 하고, 결과가 없으면 해당 경로에서 PHP 파일이 발견되지 않은 것입니다.
find /var/www -path '*/public/image/*' -name '*.php' 2>/dev/null | head -n 20