Python 3.x through 3.9.1 has a buffer overflow in PyCArgrepr 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 cdouble.from_param. This occurs because sprintf is used unsafely.