CVE-2011-4944: Race Condition
It was reported [1] that distutils would create ~/.pypirc insecurely. There is a race from the time the user's username and password is written to the file to when it is chmod'd with appropriate permissions.
Typically, a user's home directory will be created with default 0700 permissions which would not allow for a local attacker to obtain access to this file during the race window, however if a user were to make their home directory 0755 they could be susceptible to this race.
One solution would be to use tempfile.mkstemp() to create the file and then move it in place.
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=650555
Other sources
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.
— Launchpad
Affected Software
Remediation
Patch Available
Patch Available
Patch Available
Event History
Frequently Asked Questions
What is the severity of CVE-2011-4944?
CVE-2011-4944 is considered a moderate severity vulnerability due to the potential for unauthorized access to sensitive information.
How do I fix CVE-2011-4944?
To fix CVE-2011-4944, upgrade to a more secure version of Python that addresses this vulnerability, such as Python 2.7.18 or later.
What types of software are affected by CVE-2011-4944?
CVE-2011-4944 affects several versions of Python, including 2.6.x, 2.7.x, and 3.0.x to 3.1.x.
What is the nature of the vulnerability in CVE-2011-4944?
CVE-2011-4944 is a race condition vulnerability that allows for insecure handling of user credentials in the ~/.pypirc file.
Is there a workaround for CVE-2011-4944?
A temporary workaround for CVE-2011-4944 is to manually manage the permissions of the ~/.pypirc file to ensure it is private until an upgrade can be performed.