What is CVE-2021-23336?A medium-severity flaw in Python, explained.

Medium severity12 affected products
The short answer

CVE-2021-23336 is a medium-severity flaw (CVSS 5.9) in Python, published on 15 February 2021. It is not on the list of flaws known to be exploited today. The latest forecast puts its chance of use in the next 30 days at 41%. If you run an affected version, plan in the vendor’s fix.

Published 15 February 2021. Record last updated 7 November 2023. We keep this page's data up to date.

What it does

What is CVE-2021-23336? In plain terms.

It can be attacked from anywhere on the internet without logging in, but a person has to take an action first. If it works, the attacker can take it offline.

The official 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.

What kind of flaw is it?

  • CWE-444Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
CVSS 3.1 scoreMedium · 5.9

How an attack on it works

Read straight from its severity rating, translated out of the shorthand.

  • Where an attacker can beAnywhere on the internet
  • How hard it is to pull offHard: conditions must line up
  • Login needed firstNo login needed
  • Does someone have to clickYes, a person has to take an action
  • What an attacker getsCan take it offline

Severity vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:H

Exploitation

Is CVE-2021-23336 being exploited? Not that we know of.

It is not on the list of flaws known to be exploited today. The latest forecast puts the chance of it being used in the next 30 days at 41%. That can change at any time, which is why we keep watching.

Known to be exploitedNoNot on the list of exploited flaws today
Chance of use in the next 30 days41%Its EPSS score, from the latest forecast

Timeline

  1. Published
  2. Record last updated
  3. Exploit likelihood jumped
How Precursor Intelligence ranks it
43out of 100Medium

CVE-2021-23336 scores 43. Action: Plan remediation.

We keep the score of every published flaw up to date as the evidence changes. Four things go into the score, and evidence that criminals are actually using it counts most. In order:

  • Evidence it is being exploitedBiggest factor
  • How severe it isStrong factor
  • How widely exposed it isSmaller factor
  • Threat activity around itSmaller factor

85 and above is Critical. Anything confirmed as exploited is always marked for an emergency patch, whatever its score.

When CVE-2021-23336 matches software you track, it lands in your list with its score and the reasons behind it.

See your own ranked list →
Affected products

Who is affected by CVE-2021-23336? 12 products.

The published record lists 12 products from 6 vendors. Versions are shown as published: "before 3.6.13" means every version up to, but not including, 3.6.13. If you run one of these, check your version, then go to the fix below.

Remediation

How do I fix CVE-2021-23336? Four steps.

  1. Check whether you run itCompare your versions with the affected products above. Not sure what you run? Precursor Intelligence can work it out from your public website, or you can pick it from a list.
  2. Apply the vendor’s fixInstall the update named in the vendor’s advisory. We’ve put the advisories and patch notes first in the list.
  3. If you can’t patch todayFollow any mitigation the vendor publishes, and limit who can reach the affected system from the internet until the update is in.
  4. Keep an eye on itTrack the product and we tell you as soon as we spot this flaw on the list of exploited flaws, or a jump in its exploit likelihood.
Precursor Intelligence

Does CVE-2021-23336 affect you? We'll keep checking.

Looking flaws up one at a time doesn't scale. Tell us what you run once, and we tell you which flaws matter to you, in what order, and keep watching for new ones.

  1. Tell us what you runPick your software from a list, or let us work it out from your website.
  2. We match it to every flawOver 400,000 published flaws, checked against your list.
  3. Ranked by real-world riskA 0 to 100 score, led by evidence criminals are using it.
  4. Told as soon as we knowAn alert by email, in the app or by webhook to your own tools.

Free plan, no card needed. Nothing to install.

FAQ

Common questions, answered plainly.

Something else? Talk to the team →

CVE-2021-23336 is a medium-severity flaw in Python, published on 15 February 2021. It can be attacked from anywhere on the internet without logging in, but a person has to take an action first. If it works, the attacker can take it offline.

It scores 5.9 out of 10 on the CVSS severity scale, which is medium. Our risk score for CVE-2021-23336 is 43 out of 100, which is Medium. Its action is "Plan remediation". Not confirmed as exploited yet, but serious or likely enough that it should not wait for a quiet month.

It is not on the list of flaws known to be exploited today. The latest forecast puts the chance of it being used in the next 30 days at 41%. That can change at any time, which is why we keep watching.

For Python: before 3.6.13, 3.7.0 to before 3.7.10, 3.8.0 to before 3.8.8, 3.9.0 to before 3.9.2. The record lists 12 products in all, each with its versions, under "Who is affected" on this page.

Install the update the vendor names in its advisory, linked first under "How do I fix" on this page. If you can't patch today, follow the vendor's mitigation and limit who can reach the affected system from the internet.