CVE-2021-23336

Publication date 15 February 2021

Last updated 24 July 2024


Ubuntu priority

Cvss 3 Severity Score

5.9 · Medium

Score breakdown

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.

Read the notes from the security team

Status

Package Ubuntu Release Status
python-django 24.04 LTS noble
Fixed 2.2.19-1
23.10 mantic
Fixed 2.2.19-1
23.04 lunar
Fixed 2.2.19-1
22.10 kinetic
Fixed 2.2.19-1
22.04 LTS jammy
Fixed 2.2.19-1
21.10 impish
Fixed 2.2.19-1
21.04 hirsute
Fixed 2.2.19-1
20.10 groovy
Fixed 2:2.2.16-1ubuntu0.2
20.04 LTS focal
Fixed 2:2.2.12-1ubuntu0.4
18.04 LTS bionic
Fixed 1:1.11.11-1ubuntu1.11
16.04 LTS xenial
Not affected
14.04 LTS trusty
Not affected
python2.7 24.04 LTS noble Not in release
23.10 mantic Not in release
23.04 lunar Not in release
22.10 kinetic Ignored
22.04 LTS jammy Ignored
21.10 impish Ignored
21.04 hirsute Ignored end of life
20.10 groovy Ignored end of life
20.04 LTS focal Ignored
18.04 LTS bionic Ignored
16.04 LTS xenial Ignored
14.04 LTS trusty Ignored
python3.4 24.04 LTS noble Not in release
23.10 mantic Not in release
23.04 lunar Not in release
22.10 kinetic Not in release
22.04 LTS jammy Not in release
21.10 impish Not in release
21.04 hirsute Not in release
20.10 groovy Not in release
20.04 LTS focal Not in release
18.04 LTS bionic Not in release
16.04 LTS xenial Not in release
14.04 LTS trusty Ignored
python3.5 24.04 LTS noble Not in release
23.10 mantic Not in release
23.04 lunar Not in release
22.10 kinetic Not in release
22.04 LTS jammy Not in release
21.10 impish Not in release
21.04 hirsute Not in release
20.10 groovy Not in release
20.04 LTS focal Not in release
18.04 LTS bionic Not in release
16.04 LTS xenial Ignored
14.04 LTS trusty Ignored
python3.6 24.04 LTS noble Not in release
23.10 mantic Not in release
23.04 lunar Not in release
22.10 kinetic Not in release
22.04 LTS jammy Not in release
21.10 impish Not in release
21.04 hirsute Not in release
20.10 groovy Not in release
20.04 LTS focal Not in release
18.04 LTS bionic Ignored
16.04 LTS xenial Not in release
14.04 LTS trusty Not in release
python3.7 24.04 LTS noble Not in release
23.10 mantic Not in release
23.04 lunar Not in release
22.10 kinetic Not in release
22.04 LTS jammy Not in release
21.10 impish Not in release
21.04 hirsute Not in release
20.10 groovy Not in release
20.04 LTS focal Not in release
18.04 LTS bionic Ignored
16.04 LTS xenial Not in release
14.04 LTS trusty Not in release
python3.8 24.04 LTS noble Not in release
23.10 mantic Not in release
23.04 lunar Not in release
22.10 kinetic Not in release
22.04 LTS jammy Not in release
21.10 impish Not in release
21.04 hirsute Not in release
20.10 groovy Ignored end of life
20.04 LTS focal Ignored
18.04 LTS bionic Ignored
16.04 LTS xenial Not in release
14.04 LTS trusty Not in release
python3.9 24.04 LTS noble Not in release
23.10 mantic Not in release
23.04 lunar Not in release
22.10 kinetic Not in release
22.04 LTS jammy Not in release
21.10 impish
Not affected
21.04 hirsute
Not affected
20.10 groovy
Fixed 3.9.5-3~20.10.1
20.04 LTS focal
Fixed 3.9.5-3~20.04.1
18.04 LTS bionic Not in release
16.04 LTS xenial Not in release
14.04 LTS trusty Not in release

Notes


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.


rodrigo-zaiden

Decided not to fix. The proposed fixes could possibly break existing python packages in Ubuntu. There are known regressions to this CVE, such as: https://giters.com/scrapy/w3lib/issues/164

Patch details

For informational purposes only. We recommend not to cherry-pick updates. How can I get the fixes?

Package Patch details
python-django
python3.7
python3.8
python3.9

Severity score breakdown

Parameter Value
Base score 5.9 · Medium
Attack vector Network
Attack complexity High
Privileges required None
User interaction Required
Scope Unchanged
Confidentiality None
Integrity impact Low
Availability impact High
Vector CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:H