CVE-2021-3177

CVE-2021-3177 is a critical-severity vulnerability in Python with a CVSS 3.x base score of 9.8. Its EPSS exploit-prediction score of 23% places it in the 98th percentile, indicating an elevated likelihood of exploitation. The underlying weakness is classified as CWE-120.

Key facts

Description

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.

Frequently asked questions

What is CVE-2021-3177?
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.
How severe is CVE-2021-3177?
CVE-2021-3177 has a CVSS 3.x base score of 9.8, rated critical severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is high, integrity high, and availability high.
Is CVE-2021-3177 being actively exploited?
It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 23% (98th percentile), an estimate of the probability of exploitation in the next 30 days.
What products are affected by CVE-2021-3177?
CVE-2021-3177 primarily affects Python. In total, 12 product configurations (CPEs) are listed as vulnerable; see the affected-products list for the exact versions.
How do I fix CVE-2021-3177?
Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its critical severity, prioritise patching exposed systems.
When was CVE-2021-3177 published?
CVE-2021-3177 was published on 2021-01-19 and last updated on 2026-06-17.

References

Affected products (12)

More vulnerabilities in Python

All CVEs affecting Python →

Other CWE-120 (Classic Buffer Overflow) vulnerabilities

Browse all CWE-120 (Classic Buffer Overflow) vulnerabilities →

Threat intelligence

Threat-intel indicators referencing this CVE: