🇰🇷 한글 설명
Thelia 3.1.2 미만 및 3.2.x 3.2.1 미만 버전에서 인증된 백오피스 사용자가 파일 이름 끝에 공백을 추가하여 PHP 파일을 업로드할 수 있는 제한 없는 파일 업로드 취약점이 존재합니다. FileProcessorService는 원본 파일 이름을 검증하지만, FileManager::sanitizeFileName()이 공백을 제거하면서 실행 가능한 .php 파일이 public/cache/documents/ 경로에 저장되어 웹 서버 권한으로 코드가 실행될 수 있습니다.
💡 쉬운 설명
관리자 권한을 가진 사용자가 파일 이름 뒤에 빈칸을 넣어 보안 검사를 우회하고 악성 프로그램을 올릴 수 있는 문제입니다. 이 파일이 실행되면 해커가 서버를 마음대로 조종할 수 있게 됩니다.
🇺🇸 원문 (English)
Thelia before 3.1.2 and 3.2.x before 3.2.1 contains an unrestricted file upload vulnerability that allows authenticated back-office users to upload PHP files by appending a trailing space to filenames. FileProcessorService validates the raw filename but FileManager::sanitizeFileName() strips the space, storing an executable .php file under public/cache/documents/ for code execution as the web server user.
📍 영향받는 시스템
Thelia < 3.1.2 및 3.2.x < 3.2.1
⚔️ 공격 벡터
인증된 백오피스 사용자가 파일명 끝에 공백을 추가하여 PHP 파일을 업로드하는 방식
🛡️ 대응 방법
Thelia를 3.1.2 또는 3.2.1 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 3.1.2 미만이거나 3.2.x 버전 중 3.2.1 미만이면 취약한 상태입니다.
composer show themlia/thelia | grep 'versions'