🔍 CVE-2018-1199

5.3
CVSS Score
MEDIUM
2018-03-16
2026-06-17 01:50
✅ 완료

🇰🇷 한글 설명

Spring Security 및 Spring Framework의 특정 버전에서 URL 경로 파라미터를 처리할 때 보안 제약 조건을 제대로 고려하지 않는 취약점이 발견되었습니다. 공격자가 특수 인코딩된 경로 파라미터를 추가함으로써 보안 설정이 적용된 URL에 대한 접근 제어를 우회할 수 있습니다. 이는 서블릿 사양의 경로 파라미터 처리 방식 차이로 인해 발생합니다.

💡 쉬운 설명

웹사이트의 보안 문을 통과해야 하는데, 주소창에 특수한 글자를 섞어 넣으면 보안 시스템이 이를 인식하지 못하고 문을 열어주는 문제입니다. 이를 통해 원래는 접근할 수 없는 중요한 파일이나 페이지에 몰래 들어갈 수 있습니다.

🇺🇸 원문 (English)

Spring Security (Spring Security 4.1.x before 4.1.5, 4.2.x before 4.2.4, and 5.0.x before 5.0.1; and Spring Framework 4.3.x before 4.3.14 and 5.0.x before 5.0.3) does not consider URL path parameters when processing security constraints. By adding a URL path parameter with special encodings, an attacker may be able to bypass a security constraint. The root cause of this issue is a lack of clarity regarding the handling of path parameters in the Servlet Specification. Some Servlet containers include path parameters in the value returned for getPathInfo() and some do not. Spring Security uses the value returned by getPathInfo() as part of the process of mapping requests to security constraints. In this particular attack, different character encodings used in path parameters allows secured Spring MVC static resource URLs to be bypassed.

📍 영향받는 시스템

Spring Security 4.1.x < 4.1.5, 4.2.x < 4.2.4, 5.0.x < 5.0.1 및 Spring Framework 4.3.x < 4.3.14, 5.0.x < 5.0.3

⚔️ 공격 벡터

특수 인코딩된 URL 경로 파라미터를 사용하여 보안 제약 조건이 적용된 정적 리소스 URL에 대한 접근 우회

🛡️ 대응 방법

Spring Security 및 Spring Framework를 취약점이 해결된 최신 버전으로 업데이트

🔧 검증 코드

출력된 결과에서 사용 중인 Spring Security 및 Spring Framework의 버전을 확인하여 취약 버전 범위에 포함되는지 검토

Shell / Script
mvn dependency:tree | grep -E 'spring-security|spring-framework'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

💻 영향받는 소프트웨어

Spring Framework