marshmallow-code/webargs · Security
Webargs mishandles concurrent JSON parsing
- GHSA ID
- GHSA-8554-jxcw-454q
- CVE ID
- CVE-2019-9710
- Severity
- high
- Published
- Updated
- CVSS
- 8.1 · CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
- CVSS v3
- 8.1 · CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
- CVSS v4
- 8.2 · CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P
Description
An issue was discovered in webargs before 5.1.3, as used with marshmallow and other products. 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.
CWEs
- CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
References
- https://nvd.nist.gov/vuln/detail/CVE-2019-9710 ↗
- https://github.com/marshmallow-code/webargs/issues/371 ↗
- https://github.com/pypa/advisory-database/tree/main/vulns/webargs/PYSEC-2019-139.yaml ↗
- https://webargs.readthedocs.io/en/latest/changelog.html ↗
- https://github.com/marshmallow-code/webargs/pull/373 ↗
- https://github.com/marshmallow-code/webargs/commit/716bd8d1f24c84aaf99170efaa17d1d34206f6c0 ↗
- https://webargs.readthedocs.io/en/latest/changelog.html#id24 ↗
- https://github.com/advisories/GHSA-8554-jxcw-454q ↗