🇰🇷 한글 설명
Eclipse RAP 3.0.0부터 3.25.0 버전까지 Windows 환경에서 FileUpload 컴포넌트를 사용할 때 원격 코드 실행(RCE)이 가능합니다. FileUploadProcessor.stripFileName 메서드가 파일 이름에서 슬래시(/)만 처리하고 백슬래시(\)를 제대로 제거하지 못해 발생하는 경로 조작 취약점입니다.
💡 쉬운 설명
파일을 업로드할 때 파일 이름에 특수 기호를 섞어 보내면, 서버가 파일을 엉뚱한 폴더에 저장하게 만드는 공격입니다. 이를 통해 해커가 서버의 중요한 위치에 악성 파일을 심고 실행할 수 있습니다.
🇺🇸 원문 (English)
In Eclipse RAP versions from 3.0.0 up to and including 3.25.0, Remote Code Execution is possible on Windows when using the FileUpload component.
The reason for this is a not completely secure extraction of the file name in the FileUploadProcessor.stripFileName(String name) method. As soon as this finds a / in the path, everything before it is removed, but potentially \ (backslashes) coming further back are kept.
For example, a file name such as /..\..\webapps\shell.war can be used to upload a file to a Tomcat server under Windows, which is then saved as ..\..\webapps\shell.war in its webapps directory and can then be executed.
📍 영향받는 시스템
Eclipse RAP versions 3.0.0 up to and including 3.25.0 (on Windows)
⚔️ 공격 벡터
조작된 파일 이름(예: /../../webapps/shell.war)을 이용한 경로 조작(Path Traversal) 공격
🛡️ 대응 방법
Eclipse RAP를 취약점이 해결된 최신 버전으로 업데이트하십시오.
🔧 검증 코드
소스 코드 내에 취약한 메서드인 stripFileName이 존재하는지 확인하여 해당 버전 사용 여부를 판단합니다.
grep -r "FileUploadProcessor" . | grep "stripFileName"