🇰🇷 한글 설명
MISP의 OrganisationsController::__uploadLogo 메서드에서 파일 업로드 검증 전 임시 파일 경로를 먼저 조사하는 취약점이 발견되었습니다. 인증된 사이트 관리자가 임의의 서버 파일 경로를 입력하면, 시스템이 해당 파일의 존재 여부와 이미지 유형을 에러 메시지로 응답하여 서버 파일 시스템 정보를 유출할 수 있습니다.
💡 쉬운 설명
관리자 권한을 가진 사용자가 서버 내의 특정 파일이 존재하는지, 그리고 그 파일이 어떤 종류의 이미지인지 알아낼 수 있는 보안 약점입니다. 서버 내부의 파일 구조를 파악하는 데 악용될 수 있습니다.
🇺🇸 원문 (English)
In MISP, the OrganisationsController::__uploadLogo method processed a caller-supplied tmp_name value with filesystem probes (file_exists, MIME type detection, EXIF reading) before verifying that the value corresponded to a genuine PHP file upload via is_uploaded_file. An authenticated site-admin user could supply an arbitrary server file path as the tmp_name parameter. The application would then probe that path and return distinct validation error messages depending on whether the file existed and what its image type was, effectively creating a file-existence and image-type oracle against the server filesystem.
The vulnerability requires site-admin privileges and does not allow arbitrary file read, code execution, or modification; the impact is limited to disclosure of whether a given path exists on the server and, for image files, their type.
📍 영향받는 시스템
MISP (OrganisationsController::__uploadLogo 메서드 사용 버전)
⚔️ 공격 벡터
인증된 사이트 관리자가 로고 업로드 시 tmp_name 파라미터에 임의의 서버 파일 경로를 주입
🛡️ 대응 방법
is_uploaded_file() 함수를 사용하여 실제 업로드된 파일인지 먼저 검증하도록 코드를 수정해야 합니다.
🔧 검증 코드
명령어 결과에서 해당 메서드가 발견되면 소스 코드 내의 파일 검증 로직(is_uploaded_file 사용 여부)을 점검해야 합니다.
grep -r "__uploadLogo" /var/www/MISP/src/Controller/ || echo "Method not found"