Files
CVEs-PoC/2021/CVE-2021-3177.md
T
2024-06-18 02:51:15 +02:00

25 lines
1.1 KiB
Markdown

### [CVE-2021-3177](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3177)
![](https://img.shields.io/static/v1?label=Product&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Vulnerability&message=n%2Fa&color=brighgreen)
### 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.
### POC
#### Reference
- https://bugs.python.org/issue42938
- https://news.ycombinator.com/item?id=26185005
- https://www.oracle.com//security-alerts/cpujul2021.html
- https://www.oracle.com/security-alerts/cpujan2022.html
- https://www.oracle.com/security-alerts/cpujul2022.html
- https://www.oracle.com/security-alerts/cpuoct2021.html
#### Github
- https://github.com/TAPAKAH20/python_dos_demo
- https://github.com/leveryd/leveryd
- https://github.com/tianocore/edk2-edkrepo