CVE-2020-7965:
Cross-Site Request Forgery in Webargs
8.8
CVSS ScoreBasic Information
CVE ID
GHSA ID
EPSS Score
-
CWE
Published
4/7/2021
Updated
11/19/2024
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
webargs | pip | >= 5.0.0, < 5.5.3 | 5.5.3 |
webargs | pip | >= 6.0.0b1, < 6.0.0b4 | 6.0.0b4 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from JSON parsing logic in framework-specific parsers (Flask, Webapp2, Bottle) that lacked Content-Type validation. The commit diff shows fixes in webapp2parser.py and bottleparser.py adding Content-Type checks, implying their pre-patch versions were vulnerable. The CVE title explicitly references flaskparser.py, so its JSON parsing function (likely load_json) is included despite the diff not showing it directly. All three functions allowed JSON parsing regardless of Content-Type, enabling CSRF.