🇰🇷 한글 설명
Spring MVC 애플리케이션에서 XsltView를 사용할 때, 뷰 이름이 명시되지 않고 '/**' 매핑이 설정되어 있으면 SSRF 및 RCE 공격이 발생할 수 있습니다. 이는 공격자가 원격에서 코드를 실행하거나 내부 네트워크에 접근할 수 있는 심각한 취약점입니다.
💡 쉬운 설명
웹사이트의 설정 오류를 이용해 해커가 서버에 몰래 명령을 내리거나 내부 정보를 훔쳐갈 수 있는 문제입니다. 마치 집 문을 제대로 잠그지 않아 외부인이 들어와 집안 물건을 조작하는 것과 같습니다.
🇺🇸 원문 (English)
Use of XsltView in a Spring MVC application can result in SSRF and RCE attack if the application has an "/**" mapping that results in view rendering, and where the view name is not explicitly specified.
Spring Framework 7.0.0 - 7.0.8
Spring Framework 6.2.0 - 6.2.19
Spring Framework 6.1.0 - 6.1.28
Spring Framework 6.0.0 - 6.0.30
Spring Framework 5.3.0 - 5.3.49
Spring Framework 5.2.25.RELEASE and earlier
📍 영향받는 시스템
Spring Framework 7.0.0-7.0.8, 6.2.0-6.2.19, 6.1.0-6.1.28, 6.0.0-6.0.30, 5.3.0-5.3.49, 5.2.25.RELEASE 및 이전 버전
⚔️ 공격 벡터
뷰 이름이 명시되지 않은 경로 매핑을 통해 조작된 XSLT 파일을 전달하여 서버 측 요청 위조(SSRF) 및 원격 코드 실행(RCE) 수행
🛡️ 대응 방법
Spring Framework를 최신 보안 패치 버전으로 업데이트하고, 뷰 이름을 명시적으로 지정하도록 코드를 수정하십시오.
🔧 검증 코드
출력된 결과에서 사용 중인 Spring Framework의 버전을 확인하여 취약한 범위에 해당하는지 체크합니다.
mvn dependency:list | grep -E 'spring-core|spring-webmvc'