Medium severity · published Feb 15, 2021
CVE-2021-23336
Web Cache Poisoning
5.9
CVSS
40.7%
EPSS
No
On KEV
Description
The package python/cpython from 0 and before 3.6.13, from 3.7.0 and before 3.7.10, from 3.8.0 and before 3.8.8, from 3.9.0 and before 3.9.2 are vulnerable to Web Cache Poisoning via urllib.parse.parse_qsl and urllib.parse.parse_qs by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (;), they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:H
Attack vector
Network
Complexity
High
Privileges
None
User interaction
Required
Confidentiality
None
Integrity
Low
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)40.7% · higher than 99% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
PY
python/cpython ·
before unspecified; before 3.6.13; 3.7.0 before unspecified; before 3.7.10; 3.8.0 before unspecified; before 3.8.8; +2 more · source: vendor
CB
Cloud Backup · Netapp
All versions, or not specified · source: NVD
DL
Debian Linux · Debian
9.0 · source: NVD
DJ
Django · Djangoproject
2.2 before 2.2.19; 3.0 before 3.0.13; 3.1 before 3.1.7 · source: NVD
FE
Fedora · Fedoraproject
32; 33; 34 · source: NVD
IC
Inventory Collect Tool · Netapp
All versions, or not specified · source: NVD
OS
Ontap Select Deploy Administration Utility · Netapp
All versions, or not specified · source: NVD
PY
Python · Python
before 3.6.13; 3.7.0 before 3.7.10; 3.8.0 before 3.8.8; 3.9.0 before 3.9.2 · source: NVD
SN
Snapcenter · Netapp
All versions, or not specified · source: NVD