CVE Vulnerabilities

CVE-2019-17514

Incorrect Calculation

Published: Oct 12, 2019 | Modified: Nov 21, 2024
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
root.io logo minimus.io logo echo.ai logo

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

NameVendorStart VersionEnd Version
PythonPython3.6.0 (including)3.6.0 (including)
PythonPython3.7.0 (including)3.7.0 (including)
PythonPython3.8.0 (including)3.8.0 (including)
Python2.7Ubuntubionic*
Python2.7Ubuntudisco*
Python2.7Ubuntueoan*
Python2.7Ubuntuesm-apps/focal*
Python2.7Ubuntuesm-apps/jammy*
Python2.7Ubuntuesm-infra-legacy/trusty*
Python2.7Ubuntuesm-infra/bionic*
Python2.7Ubuntuesm-infra/xenial*
Python2.7Ubuntufocal*
Python2.7Ubuntugroovy*
Python2.7Ubuntuhirsute*
Python2.7Ubuntuimpish*
Python2.7Ubuntujammy*
Python2.7Ubuntukinetic*
Python2.7Ubuntutrusty*
Python2.7Ubuntutrusty/esm*
Python2.7Ubuntuxenial*
Python3.4Ubuntuesm-infra-legacy/trusty*
Python3.4Ubuntutrusty*
Python3.4Ubuntutrusty/esm*
Python3.5Ubuntuesm-infra-legacy/trusty*
Python3.5Ubuntuesm-infra/xenial*
Python3.5Ubuntutrusty*
Python3.5Ubuntutrusty/esm*
Python3.5Ubuntuxenial*
Python3.6Ubuntubionic*
Python3.6Ubuntuesm-infra/bionic*
Python3.7Ubuntubionic*
Python3.7Ubuntudisco*
Python3.7Ubuntueoan*
Python3.7Ubuntuesm-apps/bionic*
Python3.8Ubuntubionic*
Python3.8Ubuntueoan*
Python3.8Ubuntuesm-apps/bionic*
Python3.8Ubuntuesm-infra/focal*
Python3.8Ubuntufocal*
Python3.8Ubuntugroovy*
Python3.8Ubuntutrusty*

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