What is CVE-2021-3177?A critical-severity flaw in Python, explained.
CVE-2021-3177 is a critical-severity flaw (CVSS 9.8) in Python, published on 19 January 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 24%. If you run an affected version, plan in the vendor’s fix.
Published 19 January 2021. Record last updated 7 November 2023. We keep this page's data up to date.
What is CVE-2021-3177? In plain terms.
It can be attacked from anywhere on the internet without logging in, and nobody has to click anything. If it works, the attacker can read data, change data and take it offline.
Python 3.x through 3.9.1 has a buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution in certain Python applications that accept floating-point numbers as untrusted input, as demonstrated by a 1e300 argument to c_double.from_param. This occurs because sprintf is used unsafely.
What kind of flaw is it?
- CWE-120Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
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 offEasy: no special conditions
- Login needed firstNo login needed
- Does someone have to clickNo, nobody has to do anything
- What an attacker getsCan read data, change data and take it offline
Severity vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Is CVE-2021-3177 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 24%. That can change at any time, which is why we keep watching.
Timeline
- Published
- Record last updated
- Exploit likelihood jumped
- Exploit likelihood fell
CVE-2021-3177 scores 61. 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-3177 matches software you track, it lands in your list with its score and the reasons behind it.
See your own ranked list →Who is affected by CVE-2021-3177? 10 products.
The published record lists 10 products from 5 vendors. If you run one of these, check your version, then go to the fix below.
- Application
Python
by Python
Affected versions3.6.0 to 3.6.123.7.0 to 3.7.93.8.0 to 3.8.73.9.0 to 3.9.1 - Operating system
Fedora
Affected versions3233 - Application
Active Iq Unified Manager
by Netapp
Affected versionsversion not specified - Application
Communications Cloud Native Core Network Function Cloud Native Environment
by Oracle
Affected versions22.2.0 - Application
Communications Offline Mediation Controller
by Oracle
Affected versions12.0.0.3.0 - Application
Communications Pricing Design Center
by Oracle
Affected versions12.0.0.3.0 - Operating system
Debian Linux
by Debian
Affected versions9.0 - Application
Enterprise Manager Ops Center
by Oracle
Affected versions12.4.0.0 - Application
Ontap Select Deploy Administration Utility
by Netapp
Affected versionsversion not specified
How do I fix CVE-2021-3177? Four steps.
- 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.
- 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.
- 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.
- 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.
References
28 linksDoes CVE-2021-3177 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.
- Tell us what you runPick your software from a list, or let us work it out from your website.
- We match it to every flawOver 400,000 published flaws, checked against your list.
- Ranked by real-world riskA 0 to 100 score, led by evidence criminals are using it.
- 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.
1 new flaw affects software Acme tracks
Python 3.x through 3.9.1 has a buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution in certain Python applications t...
- Matched to
- Python on Acme's software list
- What to do
- Plan in the vendor’s update
Sent to the alert recipients Acme chose. Also in the app and to Acme's webhook.
CVE-2021-3177 is a critical-severity flaw in Python, published on 19 January 2021. It can be attacked from anywhere on the internet without logging in, and nobody has to click anything. If it works, the attacker can read data, change data and take it offline.
It scores 9.8 out of 10 on the CVSS severity scale, which is critical. Our risk score for CVE-2021-3177 is 61 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 24%. That can change at any time, which is why we keep watching.
For Python: 3.6.0 to 3.6.12, 3.7.0 to 3.7.9, 3.8.0 to 3.8.7, 3.9.0 to 3.9.1. The record lists 10 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.