🇰🇷 한글 설명
Spring Framework의 특정 버전에서 JSONP를 통해 교차 도메인 요청을 허용하는 취약점이 발견되었습니다. MappingJackson2JsonView가 설정된 경우, 공격자가 'jsonp' 또는 'callback' 파라미터를 사용하여 사용자의 브라우저에서 악의적인 요청을 실행할 수 있습니다.
💡 쉬운 설명
웹사이트가 다른 사이트의 명령을 허용하게 되어, 해커가 사용자의 정보를 몰래 빼갈 수 있는 보안 구멍이 생긴 것입니다. 특정 설정이 켜져 있으면 해커가 가짜 요청을 보내 사용자를 속일 수 있습니다.
🇺🇸 원문 (English)
Spring Framework, versions 5.0.x prior to 5.0.7 and 4.3.x prior to 4.3.18 and older unsupported versions, allows web applications to enable cross-domain requests via JSONP (JSON with Padding) through AbstractJsonpResponseBodyAdvice for REST controllers and MappingJackson2JsonView for browser requests. Both are not enabled by default in Spring Framework nor Spring Boot, however, when MappingJackson2JsonView is configured in an application, JSONP support is automatically ready to use through the "jsonp" and "callback" JSONP parameters, enabling cross-domain requests.
📍 영향받는 시스템
Spring Framework 5.0.x (5.0.7 미만), 4.3.x (4.3.18 미만) 및 이전 지원 종료 버전
⚔️ 공격 벡터
공격자가 JSONP 파라미터(jsonp, callback)를 이용한 교차 도메인 요청(Cross-Domain Request) 수행
🛡️ 대응 방법
Spring Framework를 최신 보안 패치 버전(5.0.7 이상 또는 4.3.18 이상)으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 취약한 버전 범위의 Spring 라이브러리가 출력되면 해당 취약점에 노출된 상태입니다.
mvn dependency:tree | grep -E 'spring-web|spring-context' | grep -E '5\.0\.[0-6]|4\.3\.[0-17]'