CVE-2016-9879
CVE-2016-9879 is a high-severity vulnerability in Vmware Spring Security with a CVSS 3.x base score of 7.5. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-417.
Key facts
- Severity: High (CVSS 3.x base score 7.5)
- CVSS v2: 5.0
- EPSS exploit prediction: 1% (70th percentile)
- Actively exploited: Not listed in CISA KEV
- Weakness: CWE-417
- Affected product: Vmware Spring Security
- Published:
- Last modified:
Description
An issue was discovered in Pivotal Spring Security before 3.2.10, 4.1.x before 4.1.4, and 4.2.x before 4.2.1. Spring Security does not consider URL path parameters when processing security constraints. By adding a URL path parameter with an encoded "/" to a request, 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. The unexpected presence of path parameters can cause a constraint to be bypassed. Users of Apache Tomcat (all current versions) are not affected by this vulnerability since Tomcat follows the guidance previously provided by the Servlet Expert group and strips path parameters from the value returned by getContextPath(), getServletPath(), and getPathInfo(). Users of other Servlet containers based on Apache Tomcat may or may not be affected depending on whether or not the handling of path parameters has been modified. Users of IBM WebSphere Application Server 8.5.x are known to be affected. Users of other containers that implement the Servlet specification may be affected.
Frequently asked questions
- What is CVE-2016-9879?
- An issue was discovered in Pivotal Spring Security before 3.2.10, 4.1.x before 4.1.4, and 4.2.x before 4.2.1. Spring Security does not consider URL path parameters when processing security constraints. By adding a URL path parameter with an encoded "/" to a request, 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. The unexpected presence of path parameters can cause a constraint to be bypassed. Users of Apache Tomcat (all current versions) are not affected by this vulnerability since Tomcat follows the guidance previously provided by the Servlet Expert group and strips path parameters from the value returned by getContextPath(), getServletPath(), and getPathInfo(). Users of other Servlet containers based on Apache Tomcat may or may not be affected depending on whether or not the handling of path parameters has been modified. Users of IBM WebSphere Application Server 8.5.x are known to be affected. Users of other containers that implement the Servlet specification may be affected.
- How severe is CVE-2016-9879?
- CVE-2016-9879 has a CVSS 3.x base score of 7.5, rated high severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is none, integrity high, and availability none.
- Is CVE-2016-9879 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 1% (70th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2016-9879?
- CVE-2016-9879 primarily affects Vmware Spring Security. In total, 28 product configurations (CPEs) are listed as vulnerable; see the affected-products list for the exact versions.
- How do I fix CVE-2016-9879?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its high severity, prioritise patching exposed systems.
- When was CVE-2016-9879 published?
- CVE-2016-9879 was published on 2017-01-06 and last updated on 2026-06-17.
References
- http://www.securityfocus.com/bid/95142
- https://access.redhat.com/errata/RHSA-2017:1832
- https://pivotal.io/security/cve-2016-9879
Affected products (28)
- cpe:2.3:a:vmware:spring_security:3.2.0:*:*:*:*:*:*:*
- cpe:2.3:a:vmware:spring_security:3.2.1:*:*:*:*:*:*:*
- cpe:2.3:a:vmware:spring_security:3.2.2:*:*:*:*:*:*:*
- cpe:2.3:a:vmware:spring_security:3.2.3:*:*:*:*:*:*:*
- cpe:2.3:a:vmware:spring_security:3.2.4:*:*:*:*:*:*:*
- cpe:2.3:a:vmware:spring_security:3.2.5:*:*:*:*:*:*:*
- cpe:2.3:a:vmware:spring_security:3.2.6:*:*:*:*:*:*:*
- cpe:2.3:a:vmware:spring_security:3.2.7:*:*:*:*:*:*:*
- cpe:2.3:a:vmware:spring_security:3.2.8:*:*:*:*:*:*:*
- cpe:2.3:a:vmware:spring_security:3.2.9:*:*:*:*:*:*:*
- cpe:2.3:a:vmware:spring_security:4.1.0:*:*:*:*:*:*:*
- cpe:2.3:a:vmware:spring_security:4.1.1:*:*:*:*:*:*:*
- cpe:2.3:a:vmware:spring_security:4.1.2:*:*:*:*:*:*:*
- cpe:2.3:a:vmware:spring_security:4.1.3:*:*:*:*:*:*:*
- cpe:2.3:a:vmware:spring_security:4.2.0:*:*:*:*:*:*:*
- cpe:2.3:a:ibm:websphere_application_server:8.5.0.0:*:*:*:*:*:*:*
- cpe:2.3:a:ibm:websphere_application_server:8.5.0.1:*:*:*:*:*:*:*
- cpe:2.3:a:ibm:websphere_application_server:8.5.0.2:*:*:*:*:*:*:*
- cpe:2.3:a:ibm:websphere_application_server:8.5.5.0:*:*:*:*:*:*:*
- cpe:2.3:a:ibm:websphere_application_server:8.5.5.1:*:*:*:*:*:*:*
- cpe:2.3:a:ibm:websphere_application_server:8.5.5.2:*:*:*:*:*:*:*
- cpe:2.3:a:ibm:websphere_application_server:8.5.5.3:*:*:*:*:*:*:*
- cpe:2.3:a:ibm:websphere_application_server:8.5.5.4:*:*:*:*:*:*:*
- cpe:2.3:a:ibm:websphere_application_server:8.5.5.5:*:*:*:*:*:*:*
- cpe:2.3:a:ibm:websphere_application_server:8.5.5.6:*:*:*:*:*:*:*
- cpe:2.3:a:ibm:websphere_application_server:8.5.5.7:*:*:*:*:*:*:*
- cpe:2.3:a:ibm:websphere_application_server:8.5.5.8:*:*:*:*:*:*:*
- cpe:2.3:a:ibm:websphere_application_server:8.5.5.9:*:*:*:*:*:*:*
More vulnerabilities in Vmware Spring Security
- CVE-2022-31692 — Critical (CVSS 9.8): Spring Security, versions 5.7 prior to 5.7.5 and 5.6 prior to 5.6.9 could be susceptible to authorization rules bypass…
- CVE-2022-22978 — Critical (CVSS 9.8): In spring security versions prior to 5.4.11+, 5.5.7+ , 5.6.4+ and older unsupported versions, RegexRequestMatcher can…
- CVE-2014-3527 — Critical (CVSS 9.8): When using the CAS Proxy ticket authentication from Spring Security 3.1 to 3.2.4 a malicious CAS Service could trick…
- CVE-2026-22732 — Critical (CVSS 9.1): When applications specify HTTP response headers for servlet applications using Spring Security, there is the…
- CVE-2023-34034 — Critical (CVSS 9.1): Using "**" as a pattern in Spring Security configuration for WebFlux creates a mismatch in pattern matching between…
- CVE-2021-22112 — High (CVSS 8.8): Spring Security 5.4.x prior to 5.4.4, 5.3.x prior to 5.3.8.RELEASE, 5.2.x prior to 5.2.9.RELEASE, and older unsupported…
All CVEs affecting Vmware Spring Security →
Other CWE-417 vulnerabilities
- CVE-2019-9855 — Critical (CVSS 9.8): LibreOffice is typically bundled with LibreLogo, a programmable turtle vector graphics script, which can execute…
- CVE-2017-1000197 — Critical (CVSS 9.8): October CMS build 412 is vulnerable to file path modification in asset move functionality resulting in creating…
- CVE-2017-7480 — Critical (CVSS 9.8): rkhunter versions before 1.4.4 are vulnerable to file download over insecure channel when doing mirror update resulting…
- CVE-2017-6520 — Critical (CVSS 9.1): The Multicast DNS (mDNS) responder used in BOSE Soundtouch 30 inadvertently responds to IPv4 unicast queries with…
- CVE-2017-3969 — High (CVSS 8.2): Abuse of communication channels vulnerability in the server in McAfee Network Security Management (NSM) before…
- CVE-2017-7760 — High (CVSS 7.8): The Mozilla Windows updater modifies some files to be updated by reading the original file and applying changes to it.…