Use After Free in Python
CVE-2018-1000030
Python 2.7.14 is vulnerable to a Heap-Buffer-Overflow as well as a Heap-Use-After-Free. Python versions prior to 2.7.14 may also be vulnerable and it appears that Python 2.7.17 and prior may also be vulnerable however this has not been confirmed. The vulnerability lies when multiply threads are handling large amounts of data. In both cases there is essentially a race condition that occurs. For the Heap-Buffer-Overflow, Thread 2 is creating the size for a buffer, but Thread1 is already writing to the buffer without knowing how much to write. So when a large amount of data is being processed, it is very easy to cause memory corruption using a Heap-Buffer-Overflow. As for the Use-After-Free, Thread3->Malloc->Thread1->Free's->Thread2-Re-uses-Free'd Memory. The PSRT has stated that this is not a security vulnerability due to the fact that the attacker must be able to run code, however in some situations, such as function as a service, this vulnerability can potentially be used by an attacker to violate a trust boundary, as such the DWF feels this issue deserves a CVE.
Vulnerability class: Use-After-Free
Published · last modified .
CVSS v3 metric
CVSS v3 base score 3.6 (Low). Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:L.
EPSS exploit prediction
EPSS: 0.012 (66.7th percentile), scored .
Low probability of exploitation in the next 30 days, but still tracked. 67th percentile — 66.7% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.
EPSS over last 30 days · oldest: 0.012 · newest: 0.012 · change: 0.000
Affected products
- Python
- Canonical Ubuntu Linux — versions 12.04, 14.04, 16.04
Weakness classification (CWE)
Public proof-of-concept exploits
References
- drive.google.com/file/d/1oyR9DAZjZK_SCn3mor6NRAYLJS6ueXaY/view (Third Party Advisory)
- usn.ubuntu.com/3817-2/ (vendor-advisory, Third Party Advisory)
- security.gentoo.org/glsa/201811-02 (vendor-advisory, Third Party Advisory)
- www.dropbox.com/sh/sj3ee7xv55j36k7/AADwP-YfOYikBMuy32e0uvPFa (Permissions Required)
- usn.ubuntu.com/3817-1/ (vendor-advisory, Third Party Advisory)
- bugs.python.org/issue31530 (Patch, Issue Tracking, Vendor Advisory)
- www.oracle.com/security-alerts/cpujan2020.html (Third Party Advisory)
Frequently asked questions
- What is CVE-2018-1000030?
- CVE-2018-1000030 is a low-severity vulnerability in Python, classified under Use After Free. CVSS score: 3.6/10. Published 2018-02-08.
- How severe is CVE-2018-1000030?
- Low severity. CVSS v3 base score is 3.6 out of 10.
- Is CVE-2018-1000030 known to be exploited?
- 5 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.