🔍 CVE-2016-5007

7.5
CVSS Score
HIGH
2017-05-25
2026-06-17 00:48
✅ 완료

🇰🇷 한글 설명

Spring Security와 Spring Framework의 URL 패턴 매칭 메커니즘의 차이로 인해, 공백 처리와 같은 미묘한 패턴 매칭 차이가 발생합니다. 이로 인해 Spring Security가 보호되어야 할 경로를 인식하지 못하게 되어, 권한이 없는 사용자도 접근할 수 있게 됩니다.

💡 쉬운 설명

Spring 웹 애플리케이션에서 사용자 권한을 확인하는 방식과 URL을 매핑하는 방식이 일치하지 않아, 보호되어야 할 페이지에 누구나 접근할 수 있습니다. URL의 공백 처리 차이를 이용하면 인증을 우회할 수 있습니다.

🇺🇸 원문 (English)

Both Spring Security 3.2.x, 4.0.x, 4.1.0 and the Spring Framework 3.2.x, 4.0.x, 4.1.x, 4.2.x rely on URL pattern mappings for authorization and for mapping requests to controllers respectively. Differences in the strictness of the pattern matching mechanisms, for example with regards to space trimming in path segments, can lead Spring Security to not recognize certain paths as not protected that are in fact mapped to Spring MVC controllers that should be protected. The problem is compounded by the fact that the Spring Framework provides richer features with regards to pattern matching as well as by the fact that pattern matching in each Spring Security and the Spring Framework can easily be customized creating additional differences.

📍 영향받는 시스템

Spring Security 3.2.x, 4.0.x, 4.1.0 및 Spring Framework 3.2.x, 4.0.x, 4.1.x, 4.2.x

⚔️ 공격 벡터

URL 경로의 공백이나 특수한 문자 처리 차이를 이용하여 인증 검사를 회피하고 보호된 리소스에 직접 접근

🛡️ 대응 방법

Spring Security와 Spring Framework를 최신 버전으로 업그레이드하고 URL 패턴 매칭을 표준화

🔧 검증 코드

결과의 버전 번호가 3.2.x, 4.0.x, 4.1.0, 4.2.x 범위에 있으면 취약점이 있을 수 있으므로 업그레이드 필요

Shell / Script
find / -name 'spring-security-*.jar' 2>/dev/null | head -1 | xargs -I {} sh -c 'unzip -p {} META-INF/MANIFEST.MF 2>/dev/null | grep Implementation-Version'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Spring Framework