Lucene search

HistoryJun 18, 2012 - 12:00 a.m.

(RHSA-2012:0744) Moderate: python security update


0.16 Low




Python is an interpreted, interactive, object-oriented programming

A denial of service flaw was found in the implementation of associative
arrays (dictionaries) in Python. An attacker able to supply a large number
of inputs to a Python application (such as HTTP POST request parameters
sent to a web application) that are used as keys when inserting data into
an array could trigger multiple hash function collisions, making array
operations take an excessive amount of CPU time. To mitigate this issue,
randomization has been added to the hash function to reduce the chance of
an attacker successfully causing intentional collisions. (CVE-2012-1150)

Note: The hash randomization is not enabled by default as it may break
applications that incorrectly depend on dictionary ordering. To enable the
protection, the new “PYTHONHASHSEED” environment variable or the Python
interpreter’s “-R” command line option can be used. Refer to the python(1)
manual page for details.

The RHSA-2012:0731 expat erratum must be installed with this update, which
adds hash randomization to the Expat library used by the Python pyexpat

A flaw was found in the way the Python SimpleXMLRPCServer module handled
clients disconnecting prematurely. A remote attacker could use this flaw to
cause excessive CPU consumption on a server using SimpleXMLRPCServer.

A flaw was found in the way the Python SimpleHTTPServer module generated
directory listings. An attacker able to upload a file with a
specially-crafted name to a server could possibly perform a cross-site
scripting (XSS) attack against victims visiting a listing page generated by
SimpleHTTPServer, for a directory containing the crafted file (if the
victims were using certain web browsers). (CVE-2011-4940)

A race condition was found in the way the Python distutils module set file
permissions during the creation of the .pypirc file. If a local user had
access to the home directory of another user who is running distutils, they
could use this flaw to gain access to that user’s .pypirc file, which can
contain usernames and passwords for code repositories. (CVE-2011-4944)

Red Hat would like to thank oCERT for reporting CVE-2012-1150. oCERT
acknowledges Julian Wälde and Alexander Klink as the original reporters of

All Python users should upgrade to these updated packages, which contain
backported patches to correct these issues.