🇰🇷 한글 설명
Jmix 라이브러리에서 파일 경로와 이름을 입력받는 파라미터를 조작하여 Content-Type 헤더를 text/html로 변경할 수 있는 취약점이 발견되었습니다. 공격자가 미리 악성 파일을 업로드해 두었다면, 파일 이름 끝에 .html을 붙여 브라우저에서 악성 자바스크립트가 실행되도록 유도할 수 있습니다.
💡 쉬운 설명
파일 이름을 교묘하게 바꿔서 웹사이트가 파일을 일반 문서가 아닌 실행 가능한 웹페이지로 인식하게 만드는 보안 약점입니다. 이를 통해 해커가 심어놓은 악성 코드가 사용자의 브라우저에서 몰래 실행될 수 있습니다.
🇺🇸 원문 (English)
Jmix is a set of libraries and tools to speed up Spring Boot data-centric application development. In versions 1.0.0 to 1.6.1 and 2.0.0 to 2.3.4, the input parameter, which consists of a file path and name, can be manipulated to return the Content-Type header with text/html if the name part ends with .html. This could allow malicious JavaScript code to be executed in the browser. For a successful attack, a malicious file needs to be uploaded beforehand. This issue has been patched in versions 1.6.2 and 2.4.0. A workaround is provided on the Jmix documentation website.
📍 영향받는 시스템
Jmix versions 1.0.0 to 1.6.1 and 2.0.0 to 2.3.4
⚔️ 공격 벡터
사전에 업로드된 악성 파일을 조작된 파일 경로와 이름을 통해 HTML 형식으로 호출하여 XSS 공격 수행
🛡️ 대응 방법
Jmix 버전을 1.6.2 또는 2.4.0 이상으로 업데이트하거나 공식 문서의 우회 방법을 적용
🔧 검증 코드
프로젝트 설정 파일에서 사용 중인 Jmix의 버전을 확인하여 취약한 버전 범위에 해당하는지 체크합니다.
grep -r "jmix" /path/to/your/project/build.gradle || grep -r "jmix" /path/to/your/project/pom.xml