# What is CVE-2021-23336?

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

Canonical page: https://www.precursorintelligence.com/what-is/cve-2021-23336

## At a glance

- **Verdict:** Fix this soon. Not confirmed as exploited yet, but serious or likely enough that it should not wait for a quiet month.
- **Precursor Intelligence risk score:** 43 out of 100 (Medium); action: Plan remediation. Kept up to date as the evidence changes.
- **Severity:** Medium (CVSS 5.9 out of 10)
- **Known to be exploited:** No, not on the list of flaws known to be exploited today
- **Chance of use in the next 30 days:** 41% (latest exploit-likelihood forecast)
- **Published:** 15 February 2021
- **Record last updated:** 7 November 2023
- **Main product:** Python
- **Affected products:** 12

## 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-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')

### How an attack on it works

- Where an attacker can be: Anywhere on the internet
- How hard it is to pull off: Hard: conditions must line up
- Login needed first: No login needed
- Does someone have to click: Yes, a person has to take an action
- What an attacker gets: Can take it offline

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

## 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.

Exploit likelihood over the last 7 days: 41%, 41%, 41%, 41%, 41%, 41%, 41%.

### Timeline

- 15 February 2021: Published
- 7 November 2023: Record last updated
- 16 June 2026: Exploit likelihood jumped

### How Precursor Intelligence ranks it

CVE-2021-23336 scores **43 out of 100 (Medium)**, with the action "Plan remediation".

Every published flaw gets a risk score from 0 to 100, kept up to date as the evidence changes. Four things go into the score, from the one that counts most to the ones that count less:

- Evidence it is being exploited: biggest factor
- How severe it is: strong factor
- How widely exposed it is: smaller factor
- Threat activity around it: smaller factor

85 and above is Critical. Anything confirmed as exploited is always marked for an emergency patch, whatever its score. When this flaw matches software you track, it lands in your list with its score and the reasons behind it.

## Who is affected by CVE-2021-23336?

The published record lists 12 products. Versions are as published: "before 3.6.13" means every version up to, but not including, 3.6.13.

- [Python](https://www.precursorintelligence.com/product/python/python) by [Python](https://www.precursorintelligence.com/vendors/python) (Application): 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
- [Django](https://www.precursorintelligence.com/product/djangoproject/django) by [Djangoproject](https://www.precursorintelligence.com/vendors/djangoproject) (Application): 2.2 to before 2.2.19, 3.0 to before 3.0.13, 3.1 to before 3.1.7
- [Fedora](https://www.precursorintelligence.com/product/fedoraproject/fedora) by [Fedoraproject](https://www.precursorintelligence.com/vendors/fedoraproject) (Operating system): 32, 33, 34
- [Cloud Backup](https://www.precursorintelligence.com/product/netapp/cloud_backup) by [Netapp](https://www.precursorintelligence.com/vendors/netapp) (Application): version not specified
- [Communications Offline Mediation Controller](https://www.precursorintelligence.com/product/oracle/communications_offline_mediation_controller) by [Oracle](https://www.precursorintelligence.com/vendors/oracle) (Application): 12.0.0.3.0
- [Communications Pricing Design Center](https://www.precursorintelligence.com/product/oracle/communications_pricing_design_center) by [Oracle](https://www.precursorintelligence.com/vendors/oracle) (Application): 12.0.0.3.0
- [Debian Linux](https://www.precursorintelligence.com/product/debian/debian_linux) by [Debian](https://www.precursorintelligence.com/vendors/debian) (Operating system): 9.0
- [Enterprise Manager Ops Center](https://www.precursorintelligence.com/product/oracle/enterprise_manager_ops_center) by [Oracle](https://www.precursorintelligence.com/vendors/oracle) (Application): 12.4.0.0
- [Inventory Collect Tool](https://www.precursorintelligence.com/product/netapp/inventory_collect_tool) by [Netapp](https://www.precursorintelligence.com/vendors/netapp) (Application): version not specified
- [Ontap Select Deploy Administration Utility](https://www.precursorintelligence.com/product/netapp/ontap_select_deploy_administration_utility) by [Netapp](https://www.precursorintelligence.com/vendors/netapp) (Application): version not specified
- [Snapcenter](https://www.precursorintelligence.com/product/netapp/snapcenter) by [Netapp](https://www.precursorintelligence.com/vendors/netapp) (Application): version not specified
- [Zfs Storage Appliance](https://www.precursorintelligence.com/product/oracle/zfs_storage_appliance) by [Oracle](https://www.precursorintelligence.com/vendors/oracle) (Operating system): 8.8

## How do I fix CVE-2021-23336?

1. **Check whether you run it.** Compare 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 fix.** Install 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 today.** Follow 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 it.** Track 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.

### References

- [openwall.com](http://www.openwall.com/lists/oss-security/2021/02/19/4) (Mailing list, Patch, Third-party advisory)
- [github.com](https://github.com/python/cpython/pull/24297) (Patch, Third-party advisory)
- [oracle.com](https://www.oracle.com//security-alerts/cpujul2021.html) (Patch, Third-party advisory)
- [oracle.com](https://www.oracle.com/security-alerts/cpuApr2021.html) (Patch, Third-party advisory)
- [oracle.com](https://www.oracle.com/security-alerts/cpujan2022.html) (Patch, Third-party advisory)
- [oracle.com](https://www.oracle.com/security-alerts/cpuoct2021.html) (Patch, Third-party advisory)
- [openwall.com](http://www.openwall.com/lists/oss-security/2021/05/01/2) (Mailing list, Third-party advisory)
- [lists.apache.org](https://lists.apache.org/thread.html/ra8ce70088ba291f358e077cafdb14d174b7a1ce9a9d86d1b332d6367%40%3Cusers.airflow.apache.org%3E)
- [lists.apache.org](https://lists.apache.org/thread.html/rc005f4de9d9b0ba943ceb8ff5a21a5c6ff8a9df52632476698d99432%40%3Cannounce.apache.org%3E)
- [lists.apache.org](https://lists.apache.org/thread.html/rf9fa47ab66495c78bb4120b0754dd9531ca2ff0430f6685ac9b07772%40%3Cdev.mina.apache.org%3E)
- [lists.debian.org](https://lists.debian.org/debian-lts-announce/2021/02/msg00030.html) (Mailing list, Third-party advisory)
- [lists.debian.org](https://lists.debian.org/debian-lts-announce/2021/04/msg00005.html) (Mailing list, Third-party advisory)
- [lists.debian.org](https://lists.debian.org/debian-lts-announce/2021/04/msg00015.html) (Mailing list, Third-party advisory)
- [lists.debian.org](https://lists.debian.org/debian-lts-announce/2023/09/msg00022.html)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/3EPYWWFDV22CJ5AOH5VCE72DOASZZ255/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/3YKKDLXL3UEZ3J426C2XTBS63AHE46SM/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/46N6A52EGSXHJYCZWVMBJJIH4NWIV2B5/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/FONHJIOZOFD7CD35KZL6SVBUTMBPGZGA/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/HCQTCSP6SCVIYNIRUJC5X7YBVUHPLSC4/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/HZTM7KLHFCE3LWSEVO2NAFLUHMGYMCRY/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/IHQDU7NXA7EWAE4W7VO6MURVJIULEPPR/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/KJXCMHLY7H3FIYLE4OKDYUILU2CCRUCZ/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/LVNH6Z24IG3E67ZCQGGJ46FZB4XFLQNZ/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/MNUN5SOMFL2BBKP6ZAICIIUPQKZDMGYO/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/MP572OLHMS7MZO4KUPSCIMSZIA5IZZ62/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/N6VXJZSZ6N64AILJX4CTMACYGQGHHD5C/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NJSCSN722JO2E2AGPWD4NTGVELVRPB4R/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NODWHDIFBQE5RU5PUWUVE47JOT5VCMJ2/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/OAGSWNGZJ6HQ5ISA67SNMK3CJRKICET7/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/RSLQD5CCM75IZGAMBDGUZEATYU5YSGJ7/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/SGIY6I4YS3WOXAK4SXKIEOC2G4VZKIR7/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TFTELUMWZE3KV3JB2H5EE6VFRZFRD5MV/)
- [lists.fedoraproject.org](https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/W2LSKBEFI5SYEY5FM6ICZVZM5WRQUCS4/)
- [security.gentoo.org](https://security.gentoo.org/glsa/202104-04) (Third-party advisory)
- [security.netapp.com](https://security.netapp.com/advisory/ntap-20210326-0004/) (Third-party advisory)
- [snyk.io](https://snyk.io/blog/cache-poisoning-in-popular-open-source-packages/) (Technical description, Third-party advisory)
- [snyk.io](https://snyk.io/vuln/SNYK-UPSTREAM-PYTHONCPYTHON-1074933) (Exploit, Third-party advisory)

## Questions

### What is CVE-2021-23336?

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.

### How serious is CVE-2021-23336?

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.

### Is CVE-2021-23336 being exploited?

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.

### Which versions does CVE-2021-23336 affect?

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.

### How do I fix CVE-2021-23336?

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.

## Does CVE-2021-23336 affect you?

Precursor Intelligence keeps checking for you:

- **Tell us what you run.** Pick your software from a list, or let us work it out from your website.
- **We match it to every flaw.** Over 400,000 published flaws, checked against your list.
- **Ranked by real-world risk.** Every flaw gets a 0 to 100 risk score, kept up to date, led by evidence criminals are using it.
- **Told as soon as we know.** An alert by email, in the app or by webhook to your own tools.

Start free (no card, nothing to install): https://www.precursorintelligence.com/register
Book a demo: https://www.precursorintelligence.com/contact

