CVE-2018-11040: JSONP enabled by default in MappingJackson2JsonView

Severity

Medium

Vendor

Spring by Pivotal

Description

Spring Framework, versions 5.0.x prior to 5.0.7, versions 4.3.x prior to 4.3.18, and older unsupported versions, allows web applications to enable cross-domain requests via JSONP (JSON with Padding) through AbstractJsonpResponseBodyAdvice for REST controllers, and MappingJackson2JsonView for browser requests. Both are not enabled by default in Spring Framework nor Spring Boot. However when MappingJackson2JsonView is configured in an application, JSONP support is automatically ready to use through the "jsonp" and "callback" JSONP parameters, enabling cross-domain requests.

And do not set the jsonpParameterNames property of MappingJackson2JsonView to an empty set.

And expose sensitive user information over endpoints that can render content with JSONP.

Affected Pivotal Products and Versions

Severity is
medium
unless otherwise noted.

Spring Framework 5.0 to 5.0.6

Spring Framework 4.1 to 4.3.17

Mitigation

Users of affected versions should apply the following mitigation:

5.0.x users should upgrade to 5.0.7.

4.3.x users should upgrade to 4.3.18.

Older versions should upgrade to a supported branch, or otherwise set MappingJacksonJsonView’s jsonpParameterNames property to an empty set.

Applications that do require JSONP support will need to explicitly configure the jsonpParameterNames property of MappingJacksonJsonView following the upgrade. It is recommended that applications switch to using CORS instead of JSONP to enable cross-domain requests. JSONP support in the Spring Framework is deprecated as of 5.0.7 and 4.3.18 and will be removed in 5.1.