CVE Vulnerabilities

CVE-2019-17514

Incorrect Calculation

Published: Oct 12, 2019 | Modified: Jul 27, 2020
CVSS 3.x
7.5
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:N/I:P/A:N
RedHat/V2
RedHat/V3
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N
Ubuntu
NEGLIGIBLE

library/glob.html in the Python 2 and 3 documentation before 2016 has potentially misleading information about whether sorting occurs, as demonstrated by irreproducible cancer-research results. NOTE: the effects of this documentation cross application domains, and thus it is likely that security-relevant code elsewhere is affected. This issue is not a Python implementation bug, and there are no reports that NMR researchers were specifically relying on library/glob.html. In other words, because the older documentation stated finds all the pathnames matching a specified pattern according to the rules used by the Unix shell, one might have incorrectly inferred that the sorting that occurs in a Unix shell also occurred for glob.glob. There is a workaround in newer versions of Willoughby nmr-data_compilation-p2.py and nmr-data_compilation-p3.py, which call sort() directly.

Weakness

The product performs a calculation that generates incorrect or unintended results that are later used in security-critical decisions or resource management.

Affected Software

Name Vendor Start Version End Version
Python Python 3.6.0 (including) 3.6.0 (including)
Python Python 3.7.0 (including) 3.7.0 (including)
Python Python 3.8.0 (including) 3.8.0 (including)
Python2.7 Ubuntu bionic *
Python2.7 Ubuntu disco *
Python2.7 Ubuntu eoan *
Python2.7 Ubuntu esm-apps/jammy *
Python2.7 Ubuntu focal *
Python2.7 Ubuntu groovy *
Python2.7 Ubuntu hirsute *
Python2.7 Ubuntu impish *
Python2.7 Ubuntu jammy *
Python2.7 Ubuntu kinetic *
Python2.7 Ubuntu trusty *
Python2.7 Ubuntu trusty/esm *
Python2.7 Ubuntu xenial *
Python3.4 Ubuntu trusty *
Python3.4 Ubuntu trusty/esm *
Python3.5 Ubuntu trusty *
Python3.5 Ubuntu trusty/esm *
Python3.5 Ubuntu xenial *
Python3.6 Ubuntu bionic *
Python3.7 Ubuntu bionic *
Python3.7 Ubuntu disco *
Python3.7 Ubuntu eoan *
Python3.7 Ubuntu esm-apps/bionic *
Python3.8 Ubuntu bionic *
Python3.8 Ubuntu eoan *
Python3.8 Ubuntu focal *
Python3.8 Ubuntu groovy *
Python3.8 Ubuntu trusty *

Potential Mitigations

  • Use languages, libraries, or frameworks that make it easier to handle numbers without unexpected consequences.
  • Examples include safe integer handling packages such as SafeInt (C++) or IntegerLib (C or C++).
  • Use languages, libraries, or frameworks that make it easier to handle numbers without unexpected consequences.
  • Examples include safe integer handling packages such as SafeInt (C++) or IntegerLib (C or C++).

References