CVE-2021-23336
Published: 15 February 2021
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.
Priority
CVSS 3 base score: 7.1
Status
Package | Release | Status |
---|---|---|
python-django Launchpad, Ubuntu, Debian |
Upstream |
Released
(2.2.19)
|
Ubuntu 21.04 (Hirsute Hippo) |
Released
(2.2.19-1)
|
|
Ubuntu 20.10 (Groovy Gorilla) |
Released
(2:2.2.16-1ubuntu0.2)
|
|
Ubuntu 20.04 LTS (Focal Fossa) |
Released
(2:2.2.12-1ubuntu0.4)
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Released
(1:1.11.11-1ubuntu1.11)
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Not vulnerable
(code not present)
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Not vulnerable
(code not present)
|
|
Patches: Upstream: https://github.com/django/django/commit/8f6d431b08cbb418d9144b976e7b972546607851 |
||
python2.7 Launchpad, Ubuntu, Debian |
Upstream |
Needs triage
|
Ubuntu 21.04 (Hirsute Hippo) |
Needs triage
|
|
Ubuntu 20.10 (Groovy Gorilla) |
Needs triage
|
|
Ubuntu 20.04 LTS (Focal Fossa) |
Needs triage
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Needs triage
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Needs triage
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Needs triage
|
|
python3.4 Launchpad, Ubuntu, Debian |
Upstream |
Needs triage
|
Ubuntu 21.04 (Hirsute Hippo) |
Does not exist
|
|
Ubuntu 20.10 (Groovy Gorilla) |
Does not exist
|
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Needs triage
|
|
python3.5 Launchpad, Ubuntu, Debian |
Upstream |
Needed
|
Ubuntu 21.04 (Hirsute Hippo) |
Does not exist
|
|
Ubuntu 20.10 (Groovy Gorilla) |
Does not exist
|
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Needs triage
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Needs triage
|
|
python3.6 Launchpad, Ubuntu, Debian |
Upstream |
Released
(3.6.13)
|
Ubuntu 21.04 (Hirsute Hippo) |
Does not exist
|
|
Ubuntu 20.10 (Groovy Gorilla) |
Does not exist
|
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Needed
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
python3.7 Launchpad, Ubuntu, Debian |
Upstream |
Released
(3.7.10)
|
Ubuntu 21.04 (Hirsute Hippo) |
Does not exist
|
|
Ubuntu 20.10 (Groovy Gorilla) |
Does not exist
|
|
Ubuntu 20.04 LTS (Focal Fossa) |
Does not exist
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Needed
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
Patches: Upstream: https://github.com/python/cpython/commit/d0d4d30882fe3ab9b1badbecf5d15d94326fd13e |
||
python3.8 Launchpad, Ubuntu, Debian |
Upstream |
Released
(3.8.8)
|
Ubuntu 21.04 (Hirsute Hippo) |
Does not exist
|
|
Ubuntu 20.10 (Groovy Gorilla) |
Needed
|
|
Ubuntu 20.04 LTS (Focal Fossa) |
Needed
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Needed
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
python3.9 Launchpad, Ubuntu, Debian |
Upstream |
Released
(3.9.2)
|
Ubuntu 21.04 (Hirsute Hippo) |
Not vulnerable
(3.9.2-1)
|
|
Ubuntu 20.10 (Groovy Gorilla) |
Needed
|
|
Ubuntu 20.04 LTS (Focal Fossa) |
Needed
|
|
Ubuntu 18.04 LTS (Bionic Beaver) |
Does not exist
|
|
Ubuntu 16.04 LTS (Xenial Xerus) |
Does not exist
|
|
Ubuntu 14.04 ESM (Trusty Tahr) |
Does not exist
|
|
Patches: Upstream: https://github.com/python/cpython/commit/c9f07813ab8e664d8c34413c4fc2d4f86c061a92 |
Notes
Author | Note |
---|---|
mdeslaur | fixing this in stable releases will break compatibility with existing applications. Marking as low priority. We may decide not to fix this at all in stable releases in the future. |
References
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-23336
- https://github.com/python/cpython/pull/24297
- https://github.com/python/cpython/commit/fcbe0cb04d35189401c0c880ebfb4311e952d776 (master)
- https://snyk.io/blog/cache-poisoning-in-popular-open-source-packages/
- https://snyk.io/vuln/SNYK-UPSTREAM-PYTHONCPYTHON-1074933
- https://www.djangoproject.com/weblog/2021/feb/19/security-releases/
- https://usn.ubuntu.com/usn/usn-4742-1
- NVD
- Launchpad
- Debian