Bug 1824446 (CVE-2019-17514) - CVE-2019-17514 python: potentially misleading information about whether sorting in library/glob.html
Summary: CVE-2019-17514 python: potentially misleading information about whether sorti...
Keywords:
Status: CLOSED NOTABUG
Alias: CVE-2019-17514
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1824447 1824448 1824450 1824451 1824452 1824453 1824454 1824455
Blocks: 1824456
TreeView+ depends on / blocked
 
Reported: 2020-04-16 09:15 UTC by Dhananjay Arunesh
Modified: 2020-04-20 15:51 UTC (History)
20 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-04-20 15:26:06 UTC
Embargoed:


Attachments (Terms of Use)

Description Dhananjay Arunesh 2020-04-16 09:15:42 UTC
A vulnerability was found in 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.

Reference:
https://bugs.python.org/issue33275
https://github.com/bminor/bash/blob/ac50fbac377e32b98d2de396f016ea81e8ee9961/pathexp.c#L380
https://github.com/bminor/bash/blob/ac50fbac377e32b98d2de396f016ea81e8ee9961/pathexp.c#L405
https://pubs.acs.org/doi/full/10.1021/acs.orglett.9b03216
https://pubs.acs.org/doi/suppl/10.1021/acs.orglett.9b03216/suppl_file/ol9b03216_si_002.zip
https://security.netapp.com/advisory/ntap-20191107-0005/
https://twitter.com/chris_bloke/status/1181997278136958976
https://twitter.com/LucasCMoore/status/1181615421922824192
https://web.archive.org/web/20150822013622/https://docs.python.org/3/library/glob.html
https://web.archive.org/web/20150906020027/https://docs.python.org/2.7/library/glob.html
https://web.archive.org/web/20160309211341/https://docs.python.org/3/library/glob.html
https://web.archive.org/web/20160526201356/https://docs.python.org/2.7/library/glob.html
https://www.vice.com/en_us/article/zmjwda/a-code-glitch-may-have-caused-errors-in-more-than-100-published-studies

Comment 1 Dhananjay Arunesh 2020-04-16 09:17:18 UTC
Created python2 tracking bugs for this issue:

Affects: fedora-all [bug 1824450]


Created python3 tracking bugs for this issue:

Affects: fedora-all [bug 1824454]


Created python34 tracking bugs for this issue:

Affects: epel-all [bug 1824448]
Affects: fedora-all [bug 1824453]


Created python35 tracking bugs for this issue:

Affects: fedora-all [bug 1824451]


Created python36 tracking bugs for this issue:

Affects: epel-7 [bug 1824447]
Affects: fedora-all [bug 1824452]


Created python38 tracking bugs for this issue:

Affects: fedora-all [bug 1824455]

Comment 2 Miro Hrončok 2020-04-16 09:28:49 UTC
Dhananjay, what can I do to stop more EPEL python36 security bugzillas? The package has been retired in EPEL 6 months ago.

Comment 3 Riccardo Schirone 2020-04-16 12:03:48 UTC
This does not seem to me like a real flaw. It was not even a bug actually, but just a slightly misleading documentation. I don't think this is a good use of a CVE, but rather a CVE should be assigned to particular programs that wrongly assume the sorting of that function. Victor, what do you think?

Comment 4 Dhananjay Arunesh 2020-04-20 11:36:39 UTC
In reply to comment #2:
> Dhananjay, what can I do to stop more EPEL python36 security bugzillas? The
> package has been retired in EPEL 6 months ago.

removed python36 for epel and updated my manifest file.

Comment 5 Victor Stinner 2020-04-20 14:59:37 UTC
CVE-2019-17514 should be rejected: the behavior is intentional, it is not a vulnerability. os.listdir() and glob.glob() are not sorted on purpose.

See this discussion for more details:
https://discuss.python.org/t/a-code-glitch-may-have-caused-errors-in-more-than-100-published-studies/2583

The "fix" was to ensure that the intentional behavior is properly documented:

https://docs.python.org/dev/library/os.html#os.listdir
"The list is in arbitrary order"

https://docs.python.org/dev/library/glob.html#glob.glob
"Whether or not the results are sorted depends on the file system."

Python issues:

* https://bugs.python.org/issue21748 closed as "not a bug"
* https://bugs.python.org/issue30461 closed as "rejected"
* https://bugs.python.org/issue33275 fixed by documenting the behavior

Comment 6 Riccardo Schirone 2020-04-20 15:26:06 UTC
Closing as NOTABUG according to comment 3 and comment 5.


Note You need to log in before you can comment on or make changes to this bug.