🇰🇷 한글 설명
Spring Framework의 URL 경로 처리 과정에서 배치 스크립트 확장자를 포함한 요청이 올바르게 필터링되지 않아 응답이 다운로드로 처리됩니다. 사용자 입력이 응답에 반영되면서 악성 스크립트 파일을 다운로드하도록 유도할 수 있습니다.
💡 쉬운 설명
웹사이트 URL을 특정하게 조작하면 실행 가능한 배치 파일이 다운로드되는 문제입니다. 공격자가 이를 이용해 사용자의 컴퓨터에서 악성 명령을 실행하도록 할 수 있습니다.
🇺🇸 원문 (English)
Under some situations, the Spring Framework 4.2.0 to 4.2.1, 4.0.0 to 4.1.7, 3.2.0 to 3.2.14 and older unsupported versions is vulnerable to a Reflected File Download (RFD) attack. The attack involves a malicious user crafting a URL with a batch script extension that results in the response being downloaded rather than rendered and also includes some input reflected in the response.
📍 영향받는 시스템
Spring Framework 3.2.0~3.2.14, 4.0.0~4.1.7, 4.2.0~4.2.1 및 그 이전 버전
⚔️ 공격 벡터
URL에 .bat, .cmd 등 배치 파일 확장자를 포함시켜 악성 콘텐츠를 스크립트 파일로 다운로드하도록 유도
🛡️ 대응 방법
Spring Framework를 패치 버전(3.2.15, 4.1.8, 4.2.2 이상)으로 즉시 업그레이드
🔧 검증 코드
출력 결과에서 'VULNERABLE'이 표시되면 취약한 버전이고, 'PATCHED'가 표시되거나 버전이 더 높으면 안전한 상태
grep -r 'spring-framework' pom.xml 2>/dev/null | grep -oP 'version>\K[^<]+' | awk -F. '{if(($1==3&&$2==2&&$3<15)||($1==4&&$2==0)||($1==4&&$2==1&&$3<8)||($1==4&&$2==2&&$3<2)) print "VULNERABLE: "$0; else print "PATCHED: "$0}'