ID CVE-2018-1000030
Summary 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.
References
Vulnerable Configurations
  • cpe:2.3:a:python:python:-:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:-:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:0.9.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:0.9.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:0.9.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:0.9.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:1.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:1.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:1.3:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:1.3:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:1.5.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:1.5.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:1.6:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:1.6:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:1.6.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:1.6.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.0.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.0.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.1.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.1.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.1.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.1.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.1.3:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.1.3:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.2.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.2.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.2.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.2.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.2.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.2.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.2.3:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.2.3:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.3:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.3:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.3.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.3.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.3.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.3.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.3.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.3.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.3.3:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.3.3:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.3.4:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.3.4:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.3.5:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.3.5:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.3.6:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.3.6:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.3.7:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.3.7:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.4:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.4:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.4.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.4.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.4.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.4.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.4.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.4.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.4.3:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.4.3:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.4.4:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.4.4:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.4.5:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.4.5:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.4.6:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.4.6:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.5:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.5:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.5.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.5.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.5.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.5.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.5.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.5.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.5.3:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.5.3:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.5.4:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.5.4:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.5.5:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.5.5:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.5.6:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.5.6:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.5.150:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.5.150:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.6:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.6:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.6.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.6.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.6.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.6.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.6.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.6.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.6.3:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.6.3:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.6.4:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.6.4:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.6.5:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.6.5:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.6.6:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.6.6:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.6.7:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.6.7:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.6.8:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.6.8:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.6.9:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.6.9:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.6.2150:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.6.2150:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.6.6150:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.6.6150:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.0:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.0:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.1:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.1:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.1:-:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.1:-:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.1:rc1:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.1:rc1:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.2:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.2:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.2:-:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.2:-:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.2:rc1:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.2:rc1:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.3:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.3:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.3:-:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.3:-:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.3:rc1:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.3:rc1:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.3:rc2:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.3:rc2:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.4:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.4:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.4:-:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.4:-:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.4:rc1:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.4:rc1:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.5:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.5:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.6:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.6:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.6:-:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.6:-:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.6:rc1:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.6:rc1:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.7:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.7:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.7:-:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.7:-:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.7:rc1:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.7:rc1:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.8:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.8:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.9:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.9:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.9:-:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.9:-:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.9:rc1:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.9:rc1:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.10:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.10:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.10:-:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.10:-:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.10:rc1:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.10:rc1:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.11:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.11:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.11:-:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.11:-:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.11:rc1:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.11:rc1:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.12:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.12:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.12:-:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.12:-:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.12:rc1:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.12:rc1:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.13:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.13:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.13:-:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.13:-:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.13:rc1:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.13:rc1:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.14:*:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.14:*:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.14:-:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.14:-:*:*:*:*:*:*
  • cpe:2.3:a:python:python:2.7.14:rc1:*:*:*:*:*:*
    cpe:2.3:a:python:python:2.7.14:rc1:*:*:*:*:*:*
  • cpe:2.3:o:canonical:ubuntu_linux:12.04:*:*:*:esm:*:*:*
    cpe:2.3:o:canonical:ubuntu_linux:12.04:*:*:*:esm:*:*:*
  • cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:lts:*:*:*
    cpe:2.3:o:canonical:ubuntu_linux:14.04:*:*:*:lts:*:*:*
  • cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:lts:*:*:*
    cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:lts:*:*:*
  • cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:lts:*:*:*
    cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:lts:*:*:*
CVSS
Base: 3.3 (as of 24-08-2020 - 17:37)
Impact:
Exploitability:
CWE CWE-416
CAPEC
Access
VectorComplexityAuthentication
LOCAL MEDIUM NONE
Impact
ConfidentialityIntegrityAvailability
PARTIAL NONE PARTIAL
cvss-vector via4 AV:L/AC:M/Au:N/C:P/I:N/A:P
refmap via4
confirm https://bugs.python.org/issue31530
gentoo GLSA-201811-02
misc
ubuntu
  • USN-3817-1
  • USN-3817-2
Last major update 24-08-2020 - 17:37
Published 08-02-2018 - 17:29
Last modified 24-08-2020 - 17:37
Back to Top