Description
Python 2.6 through 3.2 creates ~/.pypirc with world-readable permissions before changing them after data has been written, which introduces a race condition that allows local users to obtain a username and password by reading this file.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 11 | python2.7 | 2.7.3~rc2-2 | — |
| Debian 6.0 | python2.6 | 2.6.6-8+deb6u1 | DLA-25-1 |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 6 | python +5 | 2.6.6-29.el6_2.2 | RHSA-2012:0744 |
| RHEL 5 | python +4 | 2.4.3-46.el5_8.2 | RHSA-2012:0745 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP1 | python | 2.7.17-7.32.2 | SUSE-SU-2020:0234-1 |
| SLES 15 SP1 | python-base | 2.7.17-7.32.1 | SUSE-SU-2020:0234-1 |
| SLES 15 SP1 | python3 +1 | 3.6.10-3.42.2 | SUSE-SU-2020:0114-1 |
| SLES 15 | python | 2.7.17-7.32.2 | SUSE-SU-2020:0234-1 |
| SLES 15 | python-base | 2.7.17-7.32.1 | SUSE-SU-2020:0234-1 |
| SLES 15 | python3 +1 | 3.6.10-3.42.2 | SUSE-SU-2020:0114-1 |
| SLES 2 | python | 2.7.17-7.32.2 | SUSE-SU-2020:0234-1 |
| SLES 2 | python-base | 2.7.17-7.32.1 | SUSE-SU-2020:0234-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | python | 2.7.18-8.1 | openSUSE-SU-2024:11202-1 |
| openSUSE Tumbleweed | python-base | 2.7.12-1.4 | openSUSE-SU-2024:10536-1 |
| openSUSE Tumbleweed | python310 | 3.10.0rc1-4.2 | openSUSE-SU-2024:11283-1 |
| openSUSE Tumbleweed | python311 | 3.11.0b1-1.1 | openSUSE-SU-2024:12089-1 |
| openSUSE Tumbleweed | python312 | 3.12.0a7-1.1 | openSUSE-SU-2024:12910-1 |
| openSUSE Tumbleweed | python313 | 3.13.0~b3-1.1 | openSUSE-SU-2024:14109-1 |
| openSUSE Tumbleweed | python314 | 3.14.0~a1-1.1 | openSUSE-SU-2024:14434-1 |
| openSUSE Tumbleweed | python315 | 3.15.0~a1-1.1 | openSUSE-SU-2025:15713-1 |
| openSUSE Tumbleweed | python36 | 3.6.15-1.1 | openSUSE-SU-2024:11284-1 |
| openSUSE Tumbleweed | python38 | 3.8.12-1.2 | openSUSE-SU-2024:11285-1 |
| openSUSE Tumbleweed | python39 | 3.9.7-2.1 | openSUSE-SU-2024:11286-1 |
| openSUSE Leap 15.1 | python3 +1 | 3.6.10-lp151.6.7.1 | openSUSE-SU-2020:0086-1 |
Advisories 17
- RHSA-2012:0744 Red Hat Security Advisory: python security update Red Hat Security Advisories (RHSA) · Jun 26, 2026
- RHSA-2012:0745 Red Hat Security Advisory: python security update Red Hat Security Advisories (RHSA) · Jun 26, 2026
- openSUSE-SU-2025:15713-1 python315-3.15.0~a1-1.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- DLA-25-1 python2.6 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- openSUSE-SU-2024:11285-1 python38-3.8.12-1.2 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:14434-1 python314-3.14.0~a1-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2020:0086-1 Security update for python3 SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:11286-1 python39-3.9.7-2.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:12910-1 python312-3.12.0a7-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:11283-1 python310-3.10.0rc1-4.2 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:12089-1 python311-3.11.0b1-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:14109-1 python313-3.13.0~b3-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2020:0114-1 Security update for python3 SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:11284-1 python36-3.6.15-1.1 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:10536-1 libpython2_7-1_0-2.7.12-1.4 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:11202-1 python-2.7.18-8.1 on GA media SUSE / openSUSE Security Updates · May 7, 2025
- SUSE-SU-2020:0234-1 Security update for python SUSE / openSUSE Security Updates · May 2, 2025
References
- USN-1615-1 vendor-advisory
- 51087 third-party-advisory
- [oss-security] 20120327 CVE request: distutils creates ~/.pypirc insecurely mailing-list
- USN-1592-1 vendor-advisory
- [oss-security] 20120327 Re: CVE request: distutils creates ~/.pypirc insecurely mailing-list
- https://bugzilla.redhat.com/show_bug.cgi?id=758905
- USN-1616-1 vendor-advisory
- 51040 third-party-advisory
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=650555
- http://bugs.python.org/file23824/pypirc-secure.diff
- APPLE-SA-2013-10-22-3 vendor-advisory
- 50858 third-party-advisory
- 51089 third-party-advisory
- [oss-security] 20120327 Re: CVE request: distutils creates ~/.pypirc insecurely mailing-list
- http://bugs.python.org/issue13512
- USN-1596-1 vendor-advisory
- USN-1613-2 vendor-advisory
- 51024 third-party-advisory
- USN-1613-1 vendor-advisory
- openSUSE-SU-2020:0086 vendor-advisory