Advisories for Pypi/Webargs package

2020

Cross-Site Request Forgery (CSRF)

flaskparser.py in Webargs does not check whether the Content-Type header is application/json when receiving JSON input. If the request body is valid JSON, it will accept it even if the content type is application/x-www-form-urlencoded. This allows for JSON POST requests to be made across domains, leading to CSRF.

2019

Race Condition

JSON parsing uses a short-lived cache to store the parsed JSON body. This cache is not thread-safe, meaning that incorrect JSON payloads could have been parsed for concurrent requests.