{"api_version":"1","generated_at":"2026-07-23T08:31:15+00:00","cve":"CVE-2014-2667","urls":{"html":"https://cve.report/CVE-2014-2667","api":"https://cve.report/api/cve/CVE-2014-2667.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2014-2667","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2014-2667"},"summary":{"title":"CVE-2014-2667","description":"Race condition in the _get_masked_mode function in Lib/os.py in Python 3.2 through 3.5, when exist_ok is set to true and multiple threads are used, might allow local users to bypass intended file permissions by leveraging a separate application vulnerability before the umask has been set to the expected value.","state":"PUBLISHED","assigner":"mitre","published_at":"2014-11-16 01:59:01","updated_at":"2026-05-06 22:30:45"},"problem_types":["CWE-362","n/a"],"metrics":[{"version":"2.0","source":"nvd@nist.gov","type":"Primary","score":"3.3","severity":"","vector":"AV:L/AC:M/Au:N/C:P/I:P/A:N","data":{"version":"2.0","vectorString":"AV:L/AC:M/Au:N/C:P/I:P/A:N","baseScore":3.3,"accessVector":"LOCAL","accessComplexity":"MEDIUM","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"NONE"}}],"references":[{"url":"http://www.openwall.com/lists/oss-security/2014/03/29/5","name":"http://www.openwall.com/lists/oss-security/2014/03/29/5","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":[],"title":"oss-security - Re: [PSRT] CVE request: os.makedirs(exist_ok=True) is not thread-safe\n in Python","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://security.gentoo.org/glsa/201503-10","name":"https://security.gentoo.org/glsa/201503-10","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":[],"title":"Gentoo Security","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"http://www.openwall.com/lists/oss-security/2014/03/30/4","name":"http://www.openwall.com/lists/oss-security/2014/03/30/4","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":[],"title":"oss-security - Re: CVE request: os.makedirs(exist_ok=True) is not thread-safe in Python","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"http://lists.opensuse.org/opensuse-security-announce/2020-01/msg00040.html","name":"http://lists.opensuse.org/opensuse-security-announce/2020-01/msg00040.html","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":[],"title":"[security-announce] openSUSE-SU-2020:0086-1: important: Security update","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"http://lists.opensuse.org/opensuse-updates/2014-05/msg00008.html","name":"http://lists.opensuse.org/opensuse-updates/2014-05/msg00008.html","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":[],"title":"openSUSE-SU-2014:0597-1: moderate: update for python3","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"http://www.openwall.com/lists/oss-security/2014/03/28/15","name":"http://www.openwall.com/lists/oss-security/2014/03/28/15","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":[],"title":"oss-security - CVE request: os.makedirs(exist_ok=True) is not thread-safe in Python","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"http://lists.opensuse.org/opensuse-updates/2014-05/msg00007.html","name":"http://lists.opensuse.org/opensuse-updates/2014-05/msg00007.html","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":[],"title":"openSUSE-SU-2014:0596-1: moderate: update for python3","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"http://bugs.python.org/issue21082","name":"http://bugs.python.org/issue21082","refsource":"af854a3a-2127-422b-91ae-364da2661108","tags":["Vendor Advisory"],"title":"Issue 21082: os.makedirs(exist_ok=True) is not thread-safe: umask is set temporary to 0, serious security problem - Python tracker","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2014-2667","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2014-2667","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"n/a","product":"n/a","version":"affected n/a","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.2.0","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.2.1","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.2.2","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.2.3","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.2.4","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.2.5","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.2.6","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.3.0","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.3.1","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.3.2","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.3.3","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.3.4","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.3.5","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.3.6","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.4.0","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.4.1","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2014","cve_id":"2667","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"python","cpe5":"python","cpe6":"3.4.2","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"providerMetadata":{"dateUpdated":"2024-08-06T10:21:36.046Z","orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE"},"references":[{"name":"[oss-security] 20140328 CVE request: os.makedirs(exist_ok=True) is not thread-safe in Python","tags":["mailing-list","x_refsource_MLIST","x_transferred"],"url":"http://www.openwall.com/lists/oss-security/2014/03/28/15"},{"name":"openSUSE-SU-2014:0597","tags":["vendor-advisory","x_refsource_SUSE","x_transferred"],"url":"http://lists.opensuse.org/opensuse-updates/2014-05/msg00008.html"},{"name":"GLSA-201503-10","tags":["vendor-advisory","x_refsource_GENTOO","x_transferred"],"url":"https://security.gentoo.org/glsa/201503-10"},{"name":"[oss-security] 20140330 Re: CVE request: os.makedirs(exist_ok=True) is not thread-safe in Python","tags":["mailing-list","x_refsource_MLIST","x_transferred"],"url":"http://www.openwall.com/lists/oss-security/2014/03/30/4"},{"tags":["x_refsource_CONFIRM","x_transferred"],"url":"http://bugs.python.org/issue21082"},{"name":"[oss-security] 20140329 Re: [PSRT] CVE request: os.makedirs(exist_ok=True) is not thread-safe in Python","tags":["mailing-list","x_refsource_MLIST","x_transferred"],"url":"http://www.openwall.com/lists/oss-security/2014/03/29/5"},{"name":"openSUSE-SU-2014:0596","tags":["vendor-advisory","x_refsource_SUSE","x_transferred"],"url":"http://lists.opensuse.org/opensuse-updates/2014-05/msg00007.html"},{"name":"openSUSE-SU-2020:0086","tags":["vendor-advisory","x_refsource_SUSE","x_transferred"],"url":"http://lists.opensuse.org/opensuse-security-announce/2020-01/msg00040.html"}],"title":"CVE Program Container"}],"cna":{"affected":[{"product":"n/a","vendor":"n/a","versions":[{"status":"affected","version":"n/a"}]}],"datePublic":"2014-03-28T00:00:00.000Z","descriptions":[{"lang":"en","value":"Race condition in the _get_masked_mode function in Lib/os.py in Python 3.2 through 3.5, when exist_ok is set to true and multiple threads are used, might allow local users to bypass intended file permissions by leveraging a separate application vulnerability before the umask has been set to the expected value."}],"problemTypes":[{"descriptions":[{"description":"n/a","lang":"en","type":"text"}]}],"providerMetadata":{"dateUpdated":"2020-01-21T21:06:40.000Z","orgId":"8254265b-2729-46b6-b9e3-3dfca2d5bfca","shortName":"mitre"},"references":[{"name":"[oss-security] 20140328 CVE request: os.makedirs(exist_ok=True) is not thread-safe in Python","tags":["mailing-list","x_refsource_MLIST"],"url":"http://www.openwall.com/lists/oss-security/2014/03/28/15"},{"name":"openSUSE-SU-2014:0597","tags":["vendor-advisory","x_refsource_SUSE"],"url":"http://lists.opensuse.org/opensuse-updates/2014-05/msg00008.html"},{"name":"GLSA-201503-10","tags":["vendor-advisory","x_refsource_GENTOO"],"url":"https://security.gentoo.org/glsa/201503-10"},{"name":"[oss-security] 20140330 Re: CVE request: os.makedirs(exist_ok=True) is not thread-safe in Python","tags":["mailing-list","x_refsource_MLIST"],"url":"http://www.openwall.com/lists/oss-security/2014/03/30/4"},{"tags":["x_refsource_CONFIRM"],"url":"http://bugs.python.org/issue21082"},{"name":"[oss-security] 20140329 Re: [PSRT] CVE request: os.makedirs(exist_ok=True) is not thread-safe in Python","tags":["mailing-list","x_refsource_MLIST"],"url":"http://www.openwall.com/lists/oss-security/2014/03/29/5"},{"name":"openSUSE-SU-2014:0596","tags":["vendor-advisory","x_refsource_SUSE"],"url":"http://lists.opensuse.org/opensuse-updates/2014-05/msg00007.html"},{"name":"openSUSE-SU-2020:0086","tags":["vendor-advisory","x_refsource_SUSE"],"url":"http://lists.opensuse.org/opensuse-security-announce/2020-01/msg00040.html"}],"x_legacyV4Record":{"CVE_data_meta":{"ASSIGNER":"cve@mitre.org","ID":"CVE-2014-2667","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"n/a","version":{"version_data":[{"version_value":"n/a"}]}}]},"vendor_name":"n/a"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"Race condition in the _get_masked_mode function in Lib/os.py in Python 3.2 through 3.5, when exist_ok is set to true and multiple threads are used, might allow local users to bypass intended file permissions by leveraging a separate application vulnerability before the umask has been set to the expected value."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"n/a"}]}]},"references":{"reference_data":[{"name":"[oss-security] 20140328 CVE request: os.makedirs(exist_ok=True) is not thread-safe in Python","refsource":"MLIST","url":"http://www.openwall.com/lists/oss-security/2014/03/28/15"},{"name":"openSUSE-SU-2014:0597","refsource":"SUSE","url":"http://lists.opensuse.org/opensuse-updates/2014-05/msg00008.html"},{"name":"GLSA-201503-10","refsource":"GENTOO","url":"https://security.gentoo.org/glsa/201503-10"},{"name":"[oss-security] 20140330 Re: CVE request: os.makedirs(exist_ok=True) is not thread-safe in Python","refsource":"MLIST","url":"http://www.openwall.com/lists/oss-security/2014/03/30/4"},{"name":"http://bugs.python.org/issue21082","refsource":"CONFIRM","url":"http://bugs.python.org/issue21082"},{"name":"[oss-security] 20140329 Re: [PSRT] CVE request: os.makedirs(exist_ok=True) is not thread-safe in Python","refsource":"MLIST","url":"http://www.openwall.com/lists/oss-security/2014/03/29/5"},{"name":"openSUSE-SU-2014:0596","refsource":"SUSE","url":"http://lists.opensuse.org/opensuse-updates/2014-05/msg00007.html"},{"name":"openSUSE-SU-2020:0086","refsource":"SUSE","url":"http://lists.opensuse.org/opensuse-security-announce/2020-01/msg00040.html"}]}}}},"cveMetadata":{"assignerOrgId":"8254265b-2729-46b6-b9e3-3dfca2d5bfca","assignerShortName":"mitre","cveId":"CVE-2014-2667","datePublished":"2014-11-16T01:00:00.000Z","dateReserved":"2014-03-26T00:00:00.000Z","dateUpdated":"2024-08-06T10:21:36.046Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.1"},"nvd":{"publishedDate":"2014-11-16 01:59:01","lastModifiedDate":"2026-05-06 22:30:45","problem_types":["CWE-362","n/a"],"metrics":{"cvssMetricV2":[{"source":"nvd@nist.gov","type":"Primary","cvssData":{"version":"2.0","vectorString":"AV:L/AC:M/Au:N/C:P/I:P/A:N","baseScore":3.3,"accessVector":"LOCAL","accessComplexity":"MEDIUM","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"NONE"},"baseSeverity":"LOW","exploitabilityScore":3.4,"impactScore":4.9,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}]},"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.2.0:*:*:*:*:*:*:*","matchCriteriaId":"B511BDFA-D1DC-4E50-9A08-66DA05947A43"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.2.1:*:*:*:*:*:*:*","matchCriteriaId":"0708E98D-5C84-47DC-89E5-8BB7CFFB12A7"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.2.2:*:*:*:*:*:*:*","matchCriteriaId":"6595C4F3-5683-4889-AD30-83840F6A58D1"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.2.3:*:*:*:*:*:*:*","matchCriteriaId":"027FD902-9B08-4EDF-9F83-314FBF0583ED"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.2.4:*:*:*:*:*:*:*","matchCriteriaId":"89FB9D30-8559-4F57-9D20-DC603765B346"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.2.5:*:*:*:*:*:*:*","matchCriteriaId":"957FCB4A-32D0-4449-8995-80144CC713B4"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.2.6:*:*:*:*:*:*:*","matchCriteriaId":"C17A0E8D-7611-42F7-896E-F2B3BC25643D"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.3.0:*:*:*:*:*:*:*","matchCriteriaId":"875ABC97-2783-41DA-AB9F-9E6F0870B74C"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.3.1:*:*:*:*:*:*:*","matchCriteriaId":"5262D28D-204C-41E8-BC4D-27372E366295"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.3.2:*:*:*:*:*:*:*","matchCriteriaId":"121225D0-C5DA-4F26-93B8-3D56BC1D38B1"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.3.3:*:*:*:*:*:*:*","matchCriteriaId":"52DD66F7-FE7B-4C1C-B07B-F9E4CEEA7AFD"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.3.4:*:*:*:*:*:*:*","matchCriteriaId":"6C2C18A1-F202-4E48-8E29-F250AD1A6737"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.3.5:*:*:*:*:*:*:*","matchCriteriaId":"5EE1602B-6ECB-492B-BFEB-21AF40EE4A4A"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.3.6:*:*:*:*:*:*:*","matchCriteriaId":"64662850-7460-46C2-852E-E047874F9660"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.4.0:*:*:*:*:*:*:*","matchCriteriaId":"6D6658A8-E57E-4743-95D5-074F990D0D1B"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.4.1:*:*:*:*:*:*:*","matchCriteriaId":"F6C65BBA-4DC7-4F2F-90B1-75C6F3C68FBE"},{"vulnerable":true,"criteria":"cpe:2.3:a:python:python:3.4.2:*:*:*:*:*:*:*","matchCriteriaId":"0D0DBAEE-599A-44EB-A1E4-94CEBB406CAE"}]}]}]},"legacy_mitre":{"record":{"CveYear":"2014","CveId":"2667","Ordinal":"1","Title":"CVE-2014-2667","CVE":"CVE-2014-2667","Year":"2014"},"notes":[{"CveYear":"2014","CveId":"2667","Ordinal":"1","NoteData":"Race condition in the _get_masked_mode function in Lib/os.py in Python 3.2 through 3.5, when exist_ok is set to true and multiple threads are used, might allow local users to bypass intended file permissions by leveraging a separate application vulnerability before the umask has been set to the expected value.","Type":"Description","Title":"CVE-2014-2667"},{"CveYear":"2014","CveId":"2667","Ordinal":"2","NoteData":"2014-11-15","Type":"Other","Title":"Published"},{"CveYear":"2014","CveId":"2667","Ordinal":"3","NoteData":"2020-01-21","Type":"Other","Title":"Modified"}]}}}