CVE-2017-4971 Insecure Default Initialization of Resource in Pivotal Spring Web Flow
Attackers can execute malicious code via EL expressions in Spring Web Flow if Spring binding is explicitly enabled without proper data binding mappings.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2017-4971?
CVE-2017-4971 is a medium-severity code injection vulnerability in Spring Web Flow, published on 13 Jun 2017. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
An issue was discovered in Pivotal Spring Web Flow through 2.4.4. Applications that do not change the value of the MvcViewFactoryCreator useSpringBinding property which is disabled by default (i.e., set to 'false') can be vulnerable to malicious EL expressions in view states that process form submissions but do not have a sub-element to declare explicit data binding property mappings.
Weakness: CWE-1188
Which versions are affected by CVE-2017-4971?
2 open source packages ship an affected version, including org.springframework.webflow:spring-webflow. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
org.springframework.webflow:spring-webflow Maven | From 2.4.0 | 2.4.5 |
org.springframework.webflow:spring-webflow Maven | From 2.4.0 | 2.4.5 |
Products include Broadcom Spring Web Flow.
How do I fix CVE-2017-4971?
Upgrade org.springframework.webflow:spring-webflow to 2.4.5 or later.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2017-4971 being exploited?
There is no known exploitation of CVE-2017-4971 in the wild and no public exploit code.
Public exploit code: 1 proofs of concept on GitHub.
Other vulnerabilities in Spring Web Flow
Sources
Also known as GHSA-fg9w-cffm-pmh2.