CVE-2016-9879:
Security Constraint Bypass in Spring Security
7.5
CVSS ScoreBasic Information
CVE ID
GHSA ID
EPSS Score
-
CWE
-
Published
9/15/2020
Updated
5/15/2024
KEV Status
No
Technology
Java
Technical Details
CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
org.springframework.security:spring-security-core | maven | < 3.2.10.RELEASE | 3.2.10.RELEASE |
org.springframework.security:spring-security-core | maven | >= 4.0.0.RELEASE, < 4.1.4.RELEASE | 4.1.4.RELEASE |
org.springframework.security:spring-security-core | maven | >= 4.2.0.RELEASE, < 4.2.1.RELEASE | 4.2.1.RELEASE |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The core vulnerability stems from two key elements:
- DefaultHttpFirewall's pre-patch request processing that didn't detect encoded slashes in path parameters
- Reliance on container-specific HttpServletRequest.getPathInfo() implementations
While the Servlet API method itself isn't vulnerable, its implementation in certain containers (like WebSphere) creates the exploit condition when combined with Spring Security's unpatched path processing. The primary vulnerable Spring function is DefaultHttpFirewall.getFirewalledRequest which was modified in patched versions to add encoded slash validation.