🇰🇷 한글 설명
Spring MVC 애플리케이션에서 JSP 폼 태그의 cssClass, cssErrorClass, cssStyle 속성에 사용자 입력값이 직접 반영될 경우 임의의 HTML 및 JavaScript 코드가 삽입될 수 있습니다. 이로 인해 크로스 사이트 스크립팅(XSS) 취약점이 발생하여 공격자가 사용자의 세션이나 데이터를 탈취할 위험이 있습니다.
💡 쉬운 설명
웹사이트의 폼 태그 설정에 악의적인 코드를 숨겨 넣을 수 있는 취약점입니다. 공격자가 이 코드를 실행하면 사용자의 브라우저에서 원치 않는 스크립트가 작동할 수 있습니다.
🇺🇸 원문 (English)
Spring MVC applications which accept user-supplied values in the cssClass, cssErrorClass, or cssStyle attributes of JSP form tags allow arbitrary HTML/JavaScript code injection, potentially resulting in a cross-site scripting (XSS) vulnerability.
Affected versions:
Spring Framework 7.0.0 through 7.0.7; 6.2.0 through 6.2.18; 6.1.0 through 6.1.27; 5.3.0 through 5.3.48.
📍 영향받는 시스템
Spring Framework 7.0.0-7.0.7, 6.2.0-6.2.18, 6.1.0-6.1.27, 5.3.0-5.3.48
⚔️ 공격 벡터
사용자가 제어할 수 있는 값을 JSP 폼 태그의 CSS 관련 속성에 주입하여 XSS를 유도
🛡️ 대응 방법
Spring Framework를 패치된 최신 버전으로 업그레이드하거나 입력값에 대한 엄격한 검증 및 이스케이프 처리를 적용
🔧 검증 코드
출력된 버전이 취약한 범위(예: 6.2.0 이상 6.2.18 이하 등)에 해당하면 취약점이 존재할 수 있으므로 업그레이드가 필요합니다.
mvn dependency:tree -Dincludes=org.springframework:spring-webmvc | grep -E '6\.[0-2]\.|7\.[0-1]\.'