CVE-2020-12480: CSRF in Play Framework
6.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.062%
CWE
Published
8/18/2020
Updated
1/9/2023
KEV Status
No
Technology
Java
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
com.typesafe.play:play_2.12 | maven | < 2.7.5 | 2.7.5 |
com.typesafe.play:play_2.12 | maven | >= 2.8.0, < 2.8.2 | 2.8.2 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from improper handling of invalid Content-Type headers in CSRF protection logic. The patch added 'hasInvalidContentType' checks and modified conditional logic in multiple locations. The original vulnerable functions failed to account for: 1) Requests with unparseable Content-Type headers that would return contentType.isEmpty
2) The distinction between header presence vs valid parsing. This allowed attackers to craft requests with malformed Content-Type parameters to bypass blacklist-based CSRF protection. The functions handling CSRF check decisions (call
, apply
, requiresCsrfCheck
) were directly modified in the security patch, indicating they contained the flawed logic.