Every CVE Search/ Get API key

CVE-2018-1000030

Python 2.7.14 is vulnerable to a Heap-Buffer-Overflow as well as a Heap-Use-After-Free. Python...

3.6 LowPublic exploitFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
High
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
None
Availability
Low

Exploit likelihood

1.19%Down 4.6 points since Apr 14, 2021
90%50%10%1%

What each source reports

CVE List Score used 3.6

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.

Record
CVE-2018-1000030
CVSS 3.0
3.6 LowCVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:L
Updated
2026-11-02
EUVDEUVD-2018-1791 3.6

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.

Record
EUVD-2018-1791
CVSS 3.0
3.6 LowCVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:L
Updated
2026-11-02
GitHub AdvisoriesGHSA-rwj4-fxr5-gh64 3.6

Python 2.7.14 is vulnerable to a Heap-Buffer-Overflow as well as a Heap-Use-After-Free. Python...

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.

Record
GHSA-rwj4-fxr5-gh64
CVSS 3.1
3.6 LowCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:L
Weakness
CWE-416, CWE-787
Updated
2026-11-02
NVD 3.6

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.

Record
CVE-2018-1000030
CVSS 3.1
3.6 LowCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:L
CVSS 3.0
3.6 LowCVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:L
CVSS 2.0
3.3 LowAV:L/AC:M/Au:N/C:P/I:N/A:P
Weakness
CWE-416, CWE-787
Updated
2026-11-02
OSVAZL-109623 3.6

CVE-2018-1000030 affecting package python-py 1.11.0-1

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.

Record
AZL-109623
CVSS 3.1
3.6 LowCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:L
Updated
2026-11-02
OSV 3.6

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.

Record
CVE-2018-1000030
CVSS 3.1
3.6 LowCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:L
Updated
2026-11-02
Show 9 moreShow less
OSVDEBIAN-CVE-2018-1000030 3.6

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.

Record
DEBIAN-CVE-2018-1000030
CVSS 3.1
3.6 LowCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:L
Updated
2026-11-02
OSVUBUNTU-CVE-2018-1000030 3.6

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.

Record
UBUNTU-CVE-2018-1000030
CVSS 3.1
3.6 LowCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:L
CVSS 3.0
3.6 LowCVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:L
Updated
2026-11-02
OSVCLSA-2026-1778768341 No score

python: Fix of 4 CVEs

  • CVE-2019-9740: reject control characters in HTTP URL paths in httplib.HTTPConnection.putrequest to prevent CRLF header injection
  • CVE-2019-18348: reject control characters in hostnames in httplib.HTTPConnection.init via a new _validate_host helper to prevent CRLF header injection (the glibc CVE-2016-10739 mitigation shipped on RHEL 7+ is not present on CentOS 6 / Oracle Linux 6 ELS)
  • CVE-2018-1000030: cache the readahead buffer thread-locally inside file_iternext to fix heap buffer corruption and crashes when multiple threads iterate over the same file object
Record
CLSA-2026-1778768341
Updated
2026-11-02
OSVCLSA-2026-1778769563 No score

python: Fix of 4 CVEs

  • CVE-2019-9740: reject control characters in HTTP URL paths in httplib.HTTPConnection.putrequest to prevent CRLF header injection
  • CVE-2019-18348: reject control characters in hostnames in httplib.HTTPConnection.init via a new _validate_host helper to prevent CRLF header injection (the glibc CVE-2016-10739 mitigation shipped on RHEL 7+ is not present on CentOS 6 / Oracle Linux 6 ELS)
  • CVE-2018-1000030: cache the readahead buffer thread-locally inside file_iternext to fix heap buffer corruption and crashes when multiple threads iterate over the same file object
Record
CLSA-2026-1778769563
Updated
2026-11-02
OSVopenSUSE-SU-2024:11202-1 No score

python-2.7.18-8.1 on GA media

These are all security issues fixed in the python-2.7.18-8.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:11202-1
Updated
2026-11-02
OSVPSF-2018-2 No score

Python 2.7 readahead is not thread safe

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.

Record
PSF-2018-2
Updated
2026-11-02
OSVSUSE-SU-2018:1372-1 No score

Security update for python

This update for python fixes the following issues:

Security issues fixed:

  • CVE-2017-1000158: Fixed integer overflows in PyString_DecodeEscape that could have resulted in heap-based buffer overflow attacks and possible arbitrary code execution (bsc#1068664).
  • CVE-2018-1000030: Fixed crash inside the Python interpreter when multiple threads used the same I/O stream concurrently (bsc#1079300).
Record
SUSE-SU-2018:1372-1
Updated
2026-11-02
OSVSUSE-SU-2020:0234-1 No score

Security update for python

This update for python fixes the following issues:

Updated to version 2.7.17 to unify packages among openSUSE:Factory and SLE versions (bsc#1159035).

Record
SUSE-SU-2020:0234-1
Updated
2026-11-02
OSVUSN-3817-1 No score

python2.7, python3.4, python3.5 vulnerabilities

It was discovered that Python incorrectly handled large amounts of data. A remote attacker could use this issue to cause Python to crash, resulting in a denial of service, or possibly execute arbitrary code. This issue only affected Ubuntu 14.04 LTS and Ubuntu 16.04 LTS. (CVE-2018-1000030)

It was discovered that Python incorrectly handled running external commands in the shutil module. A remote attacker could use this issue to cause Python to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2018-1000802)

It was discovered that Python incorrectly used regular expressions vulnerable to catastrophic backtracking. A remote attacker could possibly use this issue to cause a denial of service. This issue only affected Ubuntu 14.04 LTS and Ubuntu 16.04 LTS. (CVE-2018-1060, CVE-2018-1061)

It was discovered that Python failed to initialize Expat's hash salt. A remote attacker could possibly use this issue to cause hash collisions, leading to a denial of service. (CVE-2018-14647)

Record
USN-3817-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
python-py
Azure Linux:3
through 1.11.0-1 None known
python
TuxCare:OracleLinux:6
before 2.6.6-70.el6.tuxcare.els22
2.6.6-70.el6.tuxcare.els22
python-devel
TuxCare:OracleLinux:6
before 2.6.6-70.el6.tuxcare.els22
2.6.6-70.el6.tuxcare.els22
python-libs
TuxCare:OracleLinux:6
before 2.6.6-70.el6.tuxcare.els22
2.6.6-70.el6.tuxcare.els22
python-test
TuxCare:OracleLinux:6
before 2.6.6-70.el6.tuxcare.els22
2.6.6-70.el6.tuxcare.els22
python-tools
TuxCare:OracleLinux:6
before 2.6.6-70.el6.tuxcare.els22
2.6.6-70.el6.tuxcare.els22
tkinter
TuxCare:OracleLinux:6
before 2.6.6-70.el6.tuxcare.els22
2.6.6-70.el6.tuxcare.els22
python
TuxCare:CentOS:6
before 2.6.6-70.el6.tuxcare.els22
2.6.6-70.el6.tuxcare.els22
python-devel
TuxCare:CentOS:6
before 2.6.6-70.el6.tuxcare.els22
2.6.6-70.el6.tuxcare.els22
python-libs
TuxCare:CentOS:6
before 2.6.6-70.el6.tuxcare.els22
2.6.6-70.el6.tuxcare.els22
Show 29 moreShow less
Affected packages
PackageAffectedFixed
python-test
TuxCare:CentOS:6
before 2.6.6-70.el6.tuxcare.els22
2.6.6-70.el6.tuxcare.els22
python-tools
TuxCare:CentOS:6
before 2.6.6-70.el6.tuxcare.els22
2.6.6-70.el6.tuxcare.els22
tkinter
TuxCare:CentOS:6
before 2.6.6-70.el6.tuxcare.els22
2.6.6-70.el6.tuxcare.els22
python2.7
Debian:11
before 2.7.14-5
2.7.14-5
python
SUSE:Linux Enterprise Desktop 12 SP3
before 2.7.13-28.3.2
2.7.13-28.3.2
python-base
SUSE:Linux Enterprise Desktop 12 SP3
before 2.7.13-28.3.2
2.7.13-28.3.2
python-base
SUSE:Linux Enterprise Software Development Kit 12 SP3
before 2.7.13-28.3.2
2.7.13-28.3.2
python
SUSE:Linux Enterprise Server 12 SP3
before 2.7.13-28.3.2
2.7.13-28.3.2
python-base
SUSE:Linux Enterprise Server 12 SP3
before 2.7.13-28.3.2
2.7.13-28.3.2
python-doc
SUSE:Linux Enterprise Server 12 SP3
before 2.7.13-28.3.3
2.7.13-28.3.3
python
SUSE:Linux Enterprise Server for SAP Applications 12 SP3
before 2.7.13-28.3.2
2.7.13-28.3.2
python-base
SUSE:Linux Enterprise Server for SAP Applications 12 SP3
before 2.7.13-28.3.2
2.7.13-28.3.2
python-doc
SUSE:Linux Enterprise Server for SAP Applications 12 SP3
before 2.7.13-28.3.3
2.7.13-28.3.3
python-base
SUSE:Linux Enterprise Workstation Extension 12 SP3
before 2.7.13-28.3.2
2.7.13-28.3.2
python
SUSE:Enterprise Storage 5
before 2.7.13-28.3.2
2.7.13-28.3.2
python
SUSE:Linux Enterprise Module for Basesystem 15
before 2.7.17-7.32.2
2.7.17-7.32.2
python-base
SUSE:Linux Enterprise Module for Basesystem 15
before 2.7.17-7.32.1
2.7.17-7.32.1
python
SUSE:Linux Enterprise Module for Basesystem 15 SP1
before 2.7.17-7.32.2
2.7.17-7.32.2
python-base
SUSE:Linux Enterprise Module for Basesystem 15 SP1
before 2.7.17-7.32.1
2.7.17-7.32.1
python
SUSE:Linux Enterprise Module for Desktop Applications 15
before 2.7.17-7.32.2
2.7.17-7.32.2
python
SUSE:Linux Enterprise Module for Desktop Applications 15 SP1
before 2.7.17-7.32.2
2.7.17-7.32.2
python
SUSE:Linux Enterprise Module for Python 2 15 SP1
before 2.7.17-7.32.2
2.7.17-7.32.2
python-base
SUSE:Linux Enterprise Module for Python 2 15 SP1
before 2.7.17-7.32.1
2.7.17-7.32.1
python2.7
Ubuntu:14.04:LTS
before 2.7.6-8ubuntu0.5, plus listed versions
2.7.5-8ubuntu32.7.5-8ubuntu42.7.6-22.7.6-2ubuntu12.7.6-3
Show 9 moreShow less
2.7.6-3ubuntu12.7.6-42.7.6-4ubuntu12.7.6-52.7.6-72.7.6-82.7.6-8ubuntu0.22.7.6-8ubuntu0.32.7.6-8ubuntu0.4
2.7.6-8ubuntu0.5
python2.7
Ubuntu:16.04:LTS
before 2.7.12-1ubuntu0~16.04.4, plus listed versions
2.7.10-4ubuntu12.7.10-4ubuntu22.7.11-22.7.11-32.7.11-4
Show 7 moreShow less
2.7.11-62.7.11-72.7.11-7ubuntu12.7.12-1~16.042.7.12-1ubuntu0~16.04.12.7.12-1ubuntu0~16.04.22.7.12-1ubuntu0~16.04.3
2.7.12-1ubuntu0~16.04.4
python3.4
Ubuntu:14.04:LTS
before 3.4.3-1ubuntu1~14.04.7, plus listed versions
3.4~b1-0ubuntu33.4~b1-4ubuntu43.4~b1-4ubuntu63.4~b1-5ubuntu23.4~b2-1
Show 12 moreShow less
3.4~b3-1ubuntu13.4~rc1-1build13.4~rc2-13.4~rc3-0ubuntu13.4.0-13.4.0-2ubuntu13.4.0-2ubuntu1.13.4.3-1ubuntu1~14.04.13.4.3-1ubuntu1~14.04.33.4.3-1ubuntu1~14.04.43.4.3-1ubuntu1~14.04.53.4.3-1ubuntu1~14.04.6
3.4.3-1ubuntu1~14.04.7
python3.5
Ubuntu:16.04:LTS
before 3.5.2-2ubuntu0~16.04.5, plus listed versions
3.5.0-33.5.0-3ubuntu13.5.1~rc1-2ubuntu13.5.1-13.5.1-2
Show 12 moreShow less
3.5.1-33.5.1-53.5.1-6ubuntu13.5.1-6ubuntu23.5.1-9ubuntu13.5.1-103.5.2-2~16.013.5.2-2~16.043.5.2-2ubuntu0~16.04.13.5.2-2ubuntu0~16.04.23.5.2-2ubuntu0~16.04.33.5.2-2ubuntu0~16.04.4
3.5.2-2ubuntu0~16.04.5
python2.7
Ubuntu:18.04:LTS
before 2.7.15~rc1-1ubuntu0.1, plus listed versions
2.7.14-2ubuntu22.7.14-42.7.14-62.7.14-72.7.14-82.7.15~rc1-1
2.7.15~rc1-1ubuntu0.1
python
openSUSE:Tumbleweed
before 2.7.18-8.1
2.7.18-8.1

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
PoC in GitHubtylepr96/CVE-2018-10000302020-02-10

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2018-1000030 is a low vulnerability (CVSS 3.6) in Python, published February 8, 2018. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 1.19%, the 67th percentile. Fixed in python 2.6.6-70.el6.tuxcare.els22.

References

Show 148 moreShow less
MoveEnter Open