CVE-2021-3177

NameCVE-2021-3177
DescriptionPython 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDLA-2619-1, DLA-2919-1, DLA-3432-1, ELA-572-1, ELA-598-1, ELA-997-1

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
pypy (PTS)jessie2.4.0+dfsg-3fixed
stretch5.6.0+dfsg-4fixed
buster7.0.0+dfsg-3fixed
bullseye7.3.3+dfsg-2fixed
python2.7 (PTS)jessie, jessie (lts)2.7.9-2-ds1-1+deb8u12fixed
stretch (security)2.7.13-2+deb9u6fixed
stretch (lts), stretch2.7.13-2+deb9u9fixed
buster (security), buster, buster (lts)2.7.16-2+deb10u4fixed
bullseye2.7.18-8+deb11u1fixed
python3.4 (PTS)jessie, jessie (lts)3.4.2-1+deb8u19fixed
python3.5 (PTS)stretch (security)3.5.3-1+deb9u5vulnerable
stretch (lts), stretch3.5.3-1+deb9u11fixed
python3.7 (PTS)buster, buster (lts)3.7.3-2+deb10u9fixed
buster (security)3.7.3-2+deb10u7fixed
python3.9 (PTS)bullseye3.9.2-1fixed
bullseye (security)3.9.2-1+deb11u2fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
pypysource(unstable)(not affected)
python2.7sourcejessie2.7.9-2-ds1-1+deb8u9ELA-598-1
python2.7sourcestretch2.7.13-2+deb9u6DLA-2919-1
python2.7sourcebuster2.7.16-2+deb10u2DLA-3432-1
python2.7source(unstable)2.7.18-2
python3.4sourcejessie3.4.2-1+deb8u12ELA-572-1
python3.4source(unstable)(unfixed)
python3.5sourcestretch3.5.3-1+deb9u8ELA-997-1
python3.5source(unstable)(unfixed)
python3.7sourcebuster3.7.3-2+deb10u3
python3.7source(unstable)(unfixed)
python3.8source(unstable)(unfixed)
python3.9source(unstable)3.9.1-3

Notes

[stretch] - python3.7 <no-dsa> (Minor issue)
https://bugs.python.org/issue42938
https://github.com/python/cpython/pull/24239
https://python-security.readthedocs.io/vuln/ctypes-buffer-overflow-pycarg_repr.html
https://github.com/python/cpython/commit/916610ef90a0d0761f08747f7b0905541f0977c7 (master)
https://github.com/python/cpython/commit/c347cbe694743cee120457aa6626712f7799a932 (3.9)
https://github.com/python/cpython/commit/ece5dfd403dac211f8d3c72701fe7ba7b7aa5b5f (3.8)
https://github.com/python/cpython/commit/d9b8f138b7df3b455b54653ca59f491b4840d6fa (3.7)
https://github.com/python/cpython/commit/34df10a9a16b38d54421eeeaf73ec89828563be7 (3.6)
- pypy <not-affected> (Vulnerable code not present)

Search for package or bug name: Reporting problems