CVE-2017-4971 Insecure Default Initialization of Resource in Pivotal Spring Web Flow

Medium 5.9 Published Updated

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.

PackageAffectedFixed in
org.springframework.webflow:spring-webflow MavenFrom 2.4.02.4.5
org.springframework.webflow:spring-webflow MavenFrom 2.4.02.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.

Sources

Also known as GHSA-fg9w-cffm-pmh2.

Is CVE-2017-4971 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free