{"id":"ALPINE-CVE-2015-20107","details":"In Python (aka CPython) up to 3.10.8, the mailcap module does not add escape characters into commands discovered in the system mailcap file. This may allow attackers to inject shell commands into applications that call mailcap.findmatch with untrusted input (if they lack validation of user-provided filenames or arguments). The fix is also back-ported to 3.7, 3.8, 3.9","modified":"2025-12-03T22:31:58.020748Z","published":"2022-04-13T16:15:08.937Z","upstream":["CVE-2015-20107"],"references":[{"type":"ADVISORY","url":"https://security.alpinelinux.org/vuln/CVE-2015-20107"}],"affected":[{"package":{"name":"python3","ecosystem":"Alpine:v3.17","purl":"pkg:apk/alpine/python3?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.5-r0"}]}],"versions":["3.1.3-r0","3.10.0-r0","3.10.0-r1","3.10.1-r0","3.10.2-r0","3.10.2-r1","3.10.3-r0","3.10.3-r1","3.10.4-r0","3.2.0-r0","3.2.3-r0","3.3.0-r0","3.3.2-r0","3.3.3-r0","3.3.4-r0","3.4.1-r0","3.4.2-r0","3.4.2-r1","3.4.3-r1","3.4.3-r2","3.5.0-r0","3.5.1-r0","3.5.1-r1","3.5.1-r2","3.5.1-r3","3.5.2-r0","3.5.2-r1","3.5.2-r10","3.5.2-r2","3.5.2-r3","3.5.2-r4","3.5.2-r5","3.5.2-r6","3.5.2-r7","3.5.2-r8","3.5.2-r9","3.6.0-r0","3.6.1-r0","3.6.1-r1","3.6.1-r2","3.6.1-r3","3.6.1-r4","3.6.2-r0","3.6.2-r1","3.6.2-r2","3.6.2-r3","3.6.3-r3","3.6.3-r4","3.6.3-r5","3.6.3-r6","3.6.3-r7","3.6.3-r8","3.6.3-r9","3.6.4-r0","3.6.4-r1","3.6.6-r0","3.6.6-r1","3.6.6-r2","3.6.6-r3","3.6.7-r0","3.6.8-r0","3.6.8-r1","3.6.8-r2","3.7.2-r0","3.7.3-r0","3.7.3-r1","3.7.4-r0","3.7.5-r0","3.7.5-r1","3.8.0-r0","3.8.1-r0","3.8.1-r1","3.8.1-r2","3.8.1-r3","3.8.2-r0","3.8.2-r1","3.8.2-r2","3.8.2-r3","3.8.2-r4","3.8.2-r5","3.8.2-r6","3.8.2-r7","3.8.3-r0","3.8.4-r0","3.8.5-r0","3.8.5-r1","3.8.5-r2","3.8.6-r0","3.8.7-r0","3.8.7-r1","3.8.7-r2","3.8.7-r3","3.8.8-r0","3.9.1-r0","3.9.2-r0","3.9.4-r0","3.9.5-r0","3.9.5-r1","3.9.6-r0","3.9.6-r1","3.9.6-r2","3.9.7-r2","3.9.7-r3","3.9.7-r4"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2015-20107.json"}},{"package":{"name":"python3","ecosystem":"Alpine:v3.18","purl":"pkg:apk/alpine/python3?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.5-r0"}]}],"versions":["3.1.3-r0","3.10.0-r0","3.10.0-r1","3.10.1-r0","3.10.2-r0","3.10.2-r1","3.10.3-r0","3.10.3-r1","3.10.4-r0","3.2.0-r0","3.2.3-r0","3.3.0-r0","3.3.2-r0","3.3.3-r0","3.3.4-r0","3.4.1-r0","3.4.2-r0","3.4.2-r1","3.4.3-r1","3.4.3-r2","3.5.0-r0","3.5.1-r0","3.5.1-r1","3.5.1-r2","3.5.1-r3","3.5.2-r0","3.5.2-r1","3.5.2-r10","3.5.2-r2","3.5.2-r3","3.5.2-r4","3.5.2-r5","3.5.2-r6","3.5.2-r7","3.5.2-r8","3.5.2-r9","3.6.0-r0","3.6.1-r0","3.6.1-r1","3.6.1-r2","3.6.1-r3","3.6.1-r4","3.6.2-r0","3.6.2-r1","3.6.2-r2","3.6.2-r3","3.6.3-r3","3.6.3-r4","3.6.3-r5","3.6.3-r6","3.6.3-r7","3.6.3-r8","3.6.3-r9","3.6.4-r0","3.6.4-r1","3.6.6-r0","3.6.6-r1","3.6.6-r2","3.6.6-r3","3.6.7-r0","3.6.8-r0","3.6.8-r1","3.6.8-r2","3.7.2-r0","3.7.3-r0","3.7.3-r1","3.7.4-r0","3.7.5-r0","3.7.5-r1","3.8.0-r0","3.8.1-r0","3.8.1-r1","3.8.1-r2","3.8.1-r3","3.8.2-r0","3.8.2-r1","3.8.2-r2","3.8.2-r3","3.8.2-r4","3.8.2-r5","3.8.2-r6","3.8.2-r7","3.8.3-r0","3.8.4-r0","3.8.5-r0","3.8.5-r1","3.8.5-r2","3.8.6-r0","3.8.7-r0","3.8.7-r1","3.8.7-r2","3.8.7-r3","3.8.8-r0","3.9.1-r0","3.9.2-r0","3.9.4-r0","3.9.5-r0","3.9.5-r1","3.9.6-r0","3.9.6-r1","3.9.6-r2","3.9.7-r2","3.9.7-r3","3.9.7-r4"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2015-20107.json"}},{"package":{"name":"python3","ecosystem":"Alpine:v3.19","purl":"pkg:apk/alpine/python3?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.5-r0"}]}],"versions":["3.1.3-r0","3.10.0-r0","3.10.0-r1","3.10.1-r0","3.10.2-r0","3.10.2-r1","3.10.3-r0","3.10.3-r1","3.10.4-r0","3.2.0-r0","3.2.3-r0","3.3.0-r0","3.3.2-r0","3.3.3-r0","3.3.4-r0","3.4.1-r0","3.4.2-r0","3.4.2-r1","3.4.3-r1","3.4.3-r2","3.5.0-r0","3.5.1-r0","3.5.1-r1","3.5.1-r2","3.5.1-r3","3.5.2-r0","3.5.2-r1","3.5.2-r10","3.5.2-r2","3.5.2-r3","3.5.2-r4","3.5.2-r5","3.5.2-r6","3.5.2-r7","3.5.2-r8","3.5.2-r9","3.6.0-r0","3.6.1-r0","3.6.1-r1","3.6.1-r2","3.6.1-r3","3.6.1-r4","3.6.2-r0","3.6.2-r1","3.6.2-r2","3.6.2-r3","3.6.3-r3","3.6.3-r4","3.6.3-r5","3.6.3-r6","3.6.3-r7","3.6.3-r8","3.6.3-r9","3.6.4-r0","3.6.4-r1","3.6.6-r0","3.6.6-r1","3.6.6-r2","3.6.6-r3","3.6.7-r0","3.6.8-r0","3.6.8-r1","3.6.8-r2","3.7.2-r0","3.7.3-r0","3.7.3-r1","3.7.4-r0","3.7.5-r0","3.7.5-r1","3.8.0-r0","3.8.1-r0","3.8.1-r1","3.8.1-r2","3.8.1-r3","3.8.2-r0","3.8.2-r1","3.8.2-r2","3.8.2-r3","3.8.2-r4","3.8.2-r5","3.8.2-r6","3.8.2-r7","3.8.3-r0","3.8.4-r0","3.8.5-r0","3.8.5-r1","3.8.5-r2","3.8.6-r0","3.8.7-r0","3.8.7-r1","3.8.7-r2","3.8.7-r3","3.8.8-r0","3.9.1-r0","3.9.2-r0","3.9.4-r0","3.9.5-r0","3.9.5-r1","3.9.6-r0","3.9.6-r1","3.9.6-r2","3.9.7-r2","3.9.7-r3","3.9.7-r4"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2015-20107.json"}},{"package":{"name":"python3","ecosystem":"Alpine:v3.20","purl":"pkg:apk/alpine/python3?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.5-r0"}]}],"versions":["3.1.3-r0","3.10.0-r0","3.10.0-r1","3.10.1-r0","3.10.2-r0","3.10.2-r1","3.10.3-r0","3.10.3-r1","3.10.4-r0","3.2.0-r0","3.2.3-r0","3.3.0-r0","3.3.2-r0","3.3.3-r0","3.3.4-r0","3.4.1-r0","3.4.2-r0","3.4.2-r1","3.4.3-r1","3.4.3-r2","3.5.0-r0","3.5.1-r0","3.5.1-r1","3.5.1-r2","3.5.1-r3","3.5.2-r0","3.5.2-r1","3.5.2-r10","3.5.2-r2","3.5.2-r3","3.5.2-r4","3.5.2-r5","3.5.2-r6","3.5.2-r7","3.5.2-r8","3.5.2-r9","3.6.0-r0","3.6.1-r0","3.6.1-r1","3.6.1-r2","3.6.1-r3","3.6.1-r4","3.6.2-r0","3.6.2-r1","3.6.2-r2","3.6.2-r3","3.6.3-r3","3.6.3-r4","3.6.3-r5","3.6.3-r6","3.6.3-r7","3.6.3-r8","3.6.3-r9","3.6.4-r0","3.6.4-r1","3.6.6-r0","3.6.6-r1","3.6.6-r2","3.6.6-r3","3.6.7-r0","3.6.8-r0","3.6.8-r1","3.6.8-r2","3.7.2-r0","3.7.3-r0","3.7.3-r1","3.7.4-r0","3.7.5-r0","3.7.5-r1","3.8.0-r0","3.8.1-r0","3.8.1-r1","3.8.1-r2","3.8.1-r3","3.8.2-r0","3.8.2-r1","3.8.2-r2","3.8.2-r3","3.8.2-r4","3.8.2-r5","3.8.2-r6","3.8.2-r7","3.8.3-r0","3.8.4-r0","3.8.5-r0","3.8.5-r1","3.8.5-r2","3.8.6-r0","3.8.7-r0","3.8.7-r1","3.8.7-r2","3.8.7-r3","3.8.8-r0","3.9.1-r0","3.9.2-r0","3.9.4-r0","3.9.5-r0","3.9.5-r1","3.9.6-r0","3.9.6-r1","3.9.6-r2","3.9.7-r2","3.9.7-r3","3.9.7-r4"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2015-20107.json"}},{"package":{"name":"python3","ecosystem":"Alpine:v3.21","purl":"pkg:apk/alpine/python3?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.5-r0"}]}],"versions":["3.1.3-r0","3.10.0-r0","3.10.0-r1","3.10.1-r0","3.10.2-r0","3.10.2-r1","3.10.3-r0","3.10.3-r1","3.10.4-r0","3.2.0-r0","3.2.3-r0","3.3.0-r0","3.3.2-r0","3.3.3-r0","3.3.4-r0","3.4.1-r0","3.4.2-r0","3.4.2-r1","3.4.3-r1","3.4.3-r2","3.5.0-r0","3.5.1-r0","3.5.1-r1","3.5.1-r2","3.5.1-r3","3.5.2-r0","3.5.2-r1","3.5.2-r10","3.5.2-r2","3.5.2-r3","3.5.2-r4","3.5.2-r5","3.5.2-r6","3.5.2-r7","3.5.2-r8","3.5.2-r9","3.6.0-r0","3.6.1-r0","3.6.1-r1","3.6.1-r2","3.6.1-r3","3.6.1-r4","3.6.2-r0","3.6.2-r1","3.6.2-r2","3.6.2-r3","3.6.3-r3","3.6.3-r4","3.6.3-r5","3.6.3-r6","3.6.3-r7","3.6.3-r8","3.6.3-r9","3.6.4-r0","3.6.4-r1","3.6.6-r0","3.6.6-r1","3.6.6-r2","3.6.6-r3","3.6.7-r0","3.6.8-r0","3.6.8-r1","3.6.8-r2","3.7.2-r0","3.7.3-r0","3.7.3-r1","3.7.4-r0","3.7.5-r0","3.7.5-r1","3.8.0-r0","3.8.1-r0","3.8.1-r1","3.8.1-r2","3.8.1-r3","3.8.2-r0","3.8.2-r1","3.8.2-r2","3.8.2-r3","3.8.2-r4","3.8.2-r5","3.8.2-r6","3.8.2-r7","3.8.3-r0","3.8.4-r0","3.8.5-r0","3.8.5-r1","3.8.5-r2","3.8.6-r0","3.8.7-r0","3.8.7-r1","3.8.7-r2","3.8.7-r3","3.8.8-r0","3.9.1-r0","3.9.2-r0","3.9.4-r0","3.9.5-r0","3.9.5-r1","3.9.6-r0","3.9.6-r1","3.9.6-r2","3.9.7-r2","3.9.7-r3","3.9.7-r4"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2015-20107.json"}},{"package":{"name":"python3","ecosystem":"Alpine:v3.22","purl":"pkg:apk/alpine/python3?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.5-r0"}]}],"versions":["3.1.3-r0","3.10.0-r0","3.10.0-r1","3.10.1-r0","3.10.2-r0","3.10.2-r1","3.10.3-r0","3.10.3-r1","3.10.4-r0","3.2.0-r0","3.2.3-r0","3.3.0-r0","3.3.2-r0","3.3.3-r0","3.3.4-r0","3.4.1-r0","3.4.2-r0","3.4.2-r1","3.4.3-r1","3.4.3-r2","3.5.0-r0","3.5.1-r0","3.5.1-r1","3.5.1-r2","3.5.1-r3","3.5.2-r0","3.5.2-r1","3.5.2-r10","3.5.2-r2","3.5.2-r3","3.5.2-r4","3.5.2-r5","3.5.2-r6","3.5.2-r7","3.5.2-r8","3.5.2-r9","3.6.0-r0","3.6.1-r0","3.6.1-r1","3.6.1-r2","3.6.1-r3","3.6.1-r4","3.6.2-r0","3.6.2-r1","3.6.2-r2","3.6.2-r3","3.6.3-r3","3.6.3-r4","3.6.3-r5","3.6.3-r6","3.6.3-r7","3.6.3-r8","3.6.3-r9","3.6.4-r0","3.6.4-r1","3.6.6-r0","3.6.6-r1","3.6.6-r2","3.6.6-r3","3.6.7-r0","3.6.8-r0","3.6.8-r1","3.6.8-r2","3.7.2-r0","3.7.3-r0","3.7.3-r1","3.7.4-r0","3.7.5-r0","3.7.5-r1","3.8.0-r0","3.8.1-r0","3.8.1-r1","3.8.1-r2","3.8.1-r3","3.8.2-r0","3.8.2-r1","3.8.2-r2","3.8.2-r3","3.8.2-r4","3.8.2-r5","3.8.2-r6","3.8.2-r7","3.8.3-r0","3.8.4-r0","3.8.5-r0","3.8.5-r1","3.8.5-r2","3.8.6-r0","3.8.7-r0","3.8.7-r1","3.8.7-r2","3.8.7-r3","3.8.8-r0","3.9.1-r0","3.9.2-r0","3.9.4-r0","3.9.5-r0","3.9.5-r1","3.9.6-r0","3.9.6-r1","3.9.6-r2","3.9.7-r2","3.9.7-r3","3.9.7-r4"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2015-20107.json"}},{"package":{"name":"python3","ecosystem":"Alpine:v3.23","purl":"pkg:apk/alpine/python3?arch=source"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.10.5-r0"}]}],"versions":["3.1.3-r0","3.10.0-r0","3.10.0-r1","3.10.1-r0","3.10.2-r0","3.10.2-r1","3.10.3-r0","3.10.3-r1","3.10.4-r0","3.2.0-r0","3.2.3-r0","3.3.0-r0","3.3.2-r0","3.3.3-r0","3.3.4-r0","3.4.1-r0","3.4.2-r0","3.4.2-r1","3.4.3-r1","3.4.3-r2","3.5.0-r0","3.5.1-r0","3.5.1-r1","3.5.1-r2","3.5.1-r3","3.5.2-r0","3.5.2-r1","3.5.2-r10","3.5.2-r2","3.5.2-r3","3.5.2-r4","3.5.2-r5","3.5.2-r6","3.5.2-r7","3.5.2-r8","3.5.2-r9","3.6.0-r0","3.6.1-r0","3.6.1-r1","3.6.1-r2","3.6.1-r3","3.6.1-r4","3.6.2-r0","3.6.2-r1","3.6.2-r2","3.6.2-r3","3.6.3-r3","3.6.3-r4","3.6.3-r5","3.6.3-r6","3.6.3-r7","3.6.3-r8","3.6.3-r9","3.6.4-r0","3.6.4-r1","3.6.6-r0","3.6.6-r1","3.6.6-r2","3.6.6-r3","3.6.7-r0","3.6.8-r0","3.6.8-r1","3.6.8-r2","3.7.2-r0","3.7.3-r0","3.7.3-r1","3.7.4-r0","3.7.5-r0","3.7.5-r1","3.8.0-r0","3.8.1-r0","3.8.1-r1","3.8.1-r2","3.8.1-r3","3.8.2-r0","3.8.2-r1","3.8.2-r2","3.8.2-r3","3.8.2-r4","3.8.2-r5","3.8.2-r6","3.8.2-r7","3.8.3-r0","3.8.4-r0","3.8.5-r0","3.8.5-r1","3.8.5-r2","3.8.6-r0","3.8.7-r0","3.8.7-r1","3.8.7-r2","3.8.7-r3","3.8.8-r0","3.9.1-r0","3.9.2-r0","3.9.4-r0","3.9.5-r0","3.9.5-r1","3.9.6-r0","3.9.6-r1","3.9.6-r2","3.9.7-r2","3.9.7-r3","3.9.7-r4"],"ecosystem_specific":{},"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/alpine/ALPINE-CVE-2015-20107.json"}}],"schema_version":"1.7.3","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L"}]}