• Status Closed
  • Percent Complete
  • Task Type Security Issue
  • Category Any
  • Assigned To
  • Operating System All
  • Severity Critical
  • Priority High
  • Reported Version Any
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Packages
Opened by g4jc - 13/03/2018
Last edited by Emulatorman - 18/03/2018

FS#673 - [python2] heap-overflow vulnerability 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.

Closed by  Emulatorman
18.03.2018 03:59
Reason for closing:  Fixed
g4jc commented on 14.03.2018 00:31

Unable to get passing build...

Ran 54 tests in 1.925s

367 tests OK.
5 tests failed:

  test_gdb test_imaplib test_pty test_urllib2net test_urllibnet

25 tests skipped:

  test_aepack test_al test_applesingle test_bsddb185 test_cd test_cl
  test_dl test_gl test_imageop test_imgfile test_kqueue
  test_linuxaudiodev test_macos test_macostools test_msilib
  test_ossaudiodev test_pep277 test_py3kwarn test_scriptpackages
  test_startfile test_sunaudiodev test_unicode_file test_winreg
  test_winsound test_zipfile64

Those skips are all expected on linux2.

Total duration: 26 min 48 sec
Tests result: FAILURE


Thanks Luke, seems Arch devs are building python2 without checking options since i've replicated build it from their latest and snapshot versions and i've got the same tests result.

Meanwhile, i'm adding Debian patches to follow our packaging guidelines . Even it includes the patch to solve the heap-overflow vulnerability.

Date User Effort (H:M)
watch my effort tracking timers


Available keyboard shortcuts


Task Details

Task Editing