🇰🇷 한글 설명
Roskus Prospero Flow CRM 5.16.0 미만 버전에서 제품 사진 업로드 시 위험한 유형의 파일이 제한 없이 업로드될 수 있는 취약점이 발견되었습니다. 인증된 사용자가 이미지 헤더를 포함한 HTML 파일을 업로드하면, 서버가 클라이언트가 제공한 확장자를 그대로 사용하여 저장하므로 임의의 자바스크립트를 실행할 수 있습니다.
💡 쉬운 설명
제품 사진을 올리는 기능에 보안 허점이 있어, 사진처럼 보이지만 실제로는 악성 코드가 담긴 파일을 올릴 수 있습니다. 이렇게 올라간 파일이 실행되면 공격자가 웹사이트 내에서 사용자의 정보를 훔치거나 조작할 수 있습니다.
🇺🇸 원문 (English)
Unrestricted Upload of File with Dangerous Type in the product photo upload in Roskus Prospero Flow CRM before 5.16.0 allows an authenticated user holding the create product permission (routine Seller role) to execute arbitrary JavaScript in the application origin. The photo validation rule classifies the file only by its content (magic bytes) and rejects only a fixed list of PHP extensions, while ProductSaveController::save() names the stored file using the client-supplied extension and copies it into the public web root. A file that begins with an image header and carries an HTML extension passes validation, is stored under public/asset/upload/product/, and is served with a text/html content type, turning the upload into first-party stored script execution.
📍 영향받는 시스템
Roskus Prospero Flow CRM 5.16.0 미만 버전
⚔️ 공격 벡터
인증된 사용자가 이미지 헤더를 포함한 HTML 파일을 제품 사진 업로드 기능을 통해 업로드하여 스크립트 실행
🛡️ 대응 방법
Roskus Prospero Flow CRM을 5.16.0 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
설치된 CRM의 버전을 확인하여 5.16.0 미만인지 확인합니다.
php -r 'echo "VERSION_CHECK_LOGIC_HERE";' | grep -E '5\[0-9]\.[0-9]+'