ID CVE-2014-4616
Summary Array index error in the scanstring function in the _json module in Python 2.7 through 3.5 and simplejson before 2.6.1 allows context-dependent attackers to read arbitrary process memory via a negative index value in the idx argument to the raw_decode function.
References
Vulnerable Configurations
  • Python 2.7.0
    cpe:2.3:a:python:python:2.7.0
  • Python 2.7.1
    cpe:2.3:a:python:python:2.7.1
  • Python 2.7.2
    cpe:2.3:a:python:python:2.7.2
  • Python 2.7.3
    cpe:2.3:a:python:python:2.7.3
  • Python 2.7.4
    cpe:2.3:a:python:python:2.7.4
  • Python 2.7.5
    cpe:2.3:a:python:python:2.7.5
  • Python 2.7.6
    cpe:2.3:a:python:python:2.7.6
  • Python 2.7.7
    cpe:2.3:a:python:python:2.7.7
  • Python 2.7.8
    cpe:2.3:a:python:python:2.7.8
  • Python 2.7.9
    cpe:2.3:a:python:python:2.7.9
  • Python 2.7.10
    cpe:2.3:a:python:python:2.7.10
  • Python 2.7.11
    cpe:2.3:a:python:python:2.7.11
  • Python 2.7.12
    cpe:2.3:a:python:python:2.7.12
  • Python 2.7.13
    cpe:2.3:a:python:python:2.7.13
  • Python 3.0.0
    cpe:2.3:a:python:python:3.0.0
  • Python 3.0.1
    cpe:2.3:a:python:python:3.0.1
  • Python 3.1.0
    cpe:2.3:a:python:python:3.1.0
  • Python 3.1.1
    cpe:2.3:a:python:python:3.1.1
  • Python 3.1.2
    cpe:2.3:a:python:python:3.1.2
  • Python 3.1.3
    cpe:2.3:a:python:python:3.1.3
  • Python 3.1.4
    cpe:2.3:a:python:python:3.1.4
  • Python 3.1.5
    cpe:2.3:a:python:python:3.1.5
  • Python 3.2.0
    cpe:2.3:a:python:python:3.2.0
  • Python 3.2.1
    cpe:2.3:a:python:python:3.2.1
  • Python 3.2.2
    cpe:2.3:a:python:python:3.2.2
  • Python 3.2.3
    cpe:2.3:a:python:python:3.2.3
  • Python 3.2.4
    cpe:2.3:a:python:python:3.2.4
  • Python 3.2.5
    cpe:2.3:a:python:python:3.2.5
  • Python 3.2.6
    cpe:2.3:a:python:python:3.2.6
  • Python 3.3.0
    cpe:2.3:a:python:python:3.3.0
  • Python 3.3.1
    cpe:2.3:a:python:python:3.3.1
  • Python 3.3.2
    cpe:2.3:a:python:python:3.3.2
  • Python 3.3.3
    cpe:2.3:a:python:python:3.3.3
  • Python 3.3.4
    cpe:2.3:a:python:python:3.3.4
  • Python 3.3.5
    cpe:2.3:a:python:python:3.3.5
  • Python 3.3.6
    cpe:2.3:a:python:python:3.3.6
  • Python 3.4.0
    cpe:2.3:a:python:python:3.4.0
  • Python 3.4.1
    cpe:2.3:a:python:python:3.4.1
  • Python 3.4.2
    cpe:2.3:a:python:python:3.4.2
  • Python 3.4.3
    cpe:2.3:a:python:python:3.4.3
  • Python 3.4.4
    cpe:2.3:a:python:python:3.4.4
  • Python 3.4.5
    cpe:2.3:a:python:python:3.4.5
  • Python 3.4.6
    cpe:2.3:a:python:python:3.4.6
  • Python 3.4.7
    cpe:2.3:a:python:python:3.4.7
  • Python 3.5.0
    cpe:2.3:a:python:python:3.5.0
  • Simplejson Project Simplejson 1.1 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.1:-:-:-:-:python
  • Simplejson Project Simplejson 1.3 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.3:-:-:-:-:python
  • Simplejson Project Simplejson 1.5 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.5:-:-:-:-:python
  • Simplejson Project Simplejson 1.6 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.6:-:-:-:-:python
  • Simplejson Project Simplejson 1.7 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.7:-:-:-:-:python
  • Simplejson Project Simplejson 1.7.1 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.7.1:-:-:-:-:python
  • Simplejson Project Simplejson 1.7.2 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.7.2:-:-:-:-:python
  • Simplejson Project Simplejson 1.7.4 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.7.4:-:-:-:-:python
  • Simplejson Project Simplejson 1.7.5 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.7.5:-:-:-:-:python
  • Simplejson Project Simplejson 1.8 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.8:-:-:-:-:python
  • Simplejson Project Simplejson 1.8.1 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.8.1:-:-:-:-:python
  • Simplejson Project Simplejson 1.9 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.9:-:-:-:-:python
  • Simplejson Project Simplejson 1.9.1 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.9.1:-:-:-:-:python
  • Simplejson Project Simplejson 1.9.2 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.9.2:-:-:-:-:python
  • Simplejson Project Simplejson 1.9.3 for Python
    cpe:2.3:a:simplejson_project:simplejson:1.9.3:-:-:-:-:python
  • Simplejson Project Simplejson 2.0.0 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.0.0:-:-:-:-:python
  • Simplejson Project Simplejson 2.0.1 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.0.1:-:-:-:-:python
  • Simplejson Project Simplejson 2.0.2 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.0.2:-:-:-:-:python
  • Simplejson Project Simplejson 2.0.3 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.0.3:-:-:-:-:python
  • Simplejson Project Simplejson 2.0.4 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.0.4:-:-:-:-:python
  • Simplejson Project Simplejson 2.0.5 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.0.5:-:-:-:-:python
  • Simplejson Project Simplejson 2.0.6 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.0.6:-:-:-:-:python
  • Simplejson Project Simplejson 2.0.7 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.0.7:-:-:-:-:python
  • Simplejson Project Simplejson 2.0.8 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.0.8:-:-:-:-:python
  • Simplejson Project Simplejson 2.0.9 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.0.9:-:-:-:-:python
  • Simplejson Project Simplejson 2.1.0 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.1.0:-:-:-:-:python
  • Simplejson Project Simplejson 2.1.0 Release Candidate 1 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.1.0:rc1:-:-:-:python
  • Simplejson Project Simplejson 2.1.0 Release Candidate 2 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.1.0:rc2:-:-:-:python
  • Simplejson Project Simplejson 2.1.1 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.1.1:-:-:-:-:python
  • Simplejson Project Simplejson 2.1.2 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.1.2:-:-:-:-:python
  • Simplejson Project Simplejson 2.1.3 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.1.3:-:-:-:-:python
  • Simplejson Project Simplejson 2.1.4 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.1.4:-:-:-:-:python
  • Simplejson Project Simplejson 2.1.5 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.1.5:-:-:-:-:python
  • Simplejson Project Simplejson 2.1.6 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.1.6:-:-:-:-:python
  • Simplejson Project Simplejson 2.2.0 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.2.0:-:-:-:-:python
  • Simplejson Project Simplejson 2.2.1 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.2.1:-:-:-:-:python
  • Simplejson Project Simplejson 2.3.0 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.3.0:-:-:-:-:python
  • Simplejson Project Simplejson 2.3.1 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.3.1:-:-:-:-:python
  • Simplejson Project Simplejson 2.3.2 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.3.2:-:-:-:-:python
  • Simplejson Project Simplejson 2.3.3 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.3.3:-:-:-:-:python
  • Simplejson Project Simplejson 2.4.0 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.4.0:-:-:-:-:python
  • Simplejson Project Simplejson 2.5.0 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.5.0:-:-:-:-:python
  • Simplejson Project Simplejson 2.5.1 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.5.1:-:-:-:-:python
  • Simplejson Project Simplejson 2.5.2 for Python
    cpe:2.3:a:simplejson_project:simplejson:2.5.2:-:-:-:-:python
  • OpenSUSE 13.1
    cpe:2.3:o:opensuse:opensuse:13.1
  • cpe:2.3:o:opensuse_project:opensuse:12.3
    cpe:2.3:o:opensuse_project:opensuse:12.3
CVSS
Base: 4.3
Impact:
Exploitability:
CWE CWE-119
CAPEC
  • Buffer Overflow via Environment Variables
    This attack pattern involves causing a buffer overflow through manipulation of environment variables. Once the attacker finds that they can modify an environment variable, they may try to overflow associated buffers. This attack leverages implicit trust often placed in environment variables.
  • Overflow Buffers
    Buffer Overflow attacks target improper or missing bounds checking on buffer operations, typically triggered by input injected by an attacker. As a consequence, an attacker is able to write past the boundaries of allocated buffer regions in memory, causing a program crash or potentially redirection of execution as per the attackers' choice.
  • Client-side Injection-induced Buffer Overflow
    This type of attack exploits a buffer overflow vulnerability in targeted client software through injection of malicious content from a custom-built hostile service.
  • Filter Failure through Buffer Overflow
    In this attack, the idea is to cause an active filter to fail by causing an oversized transaction. An attacker may try to feed overly long input strings to the program in an attempt to overwhelm the filter (by causing a buffer overflow) and hoping that the filter does not fail securely (i.e. the user input is let into the system unfiltered).
  • MIME Conversion
    An attacker exploits a weakness in the MIME conversion routine to cause a buffer overflow and gain control over the mail server machine. The MIME system is designed to allow various different information formats to be interpreted and sent via e-mail. Attack points exist when data are converted to MIME compatible format and back.
  • Overflow Binary Resource File
    An attack of this type exploits a buffer overflow vulnerability in the handling of binary resources. Binary resources may include music files like MP3, image files like JPEG files, and any other binary file. These attacks may pass unnoticed to the client machine through normal usage of files, such as a browser loading a seemingly innocent JPEG file. This can allow the attacker access to the execution stack and execute arbitrary code in the target process. This attack pattern is a variant of standard buffer overflow attacks using an unexpected vector (binary files) to wrap its attack and open up a new attack vector. The attacker is required to either directly serve the binary content to the victim, or place it in a locale like a MP3 sharing application, for the victim to download. The attacker then is notified upon the download or otherwise locates the vulnerability opened up by the buffer overflow.
  • Buffer Overflow via Symbolic Links
    This type of attack leverages the use of symbolic links to cause buffer overflows. An attacker can try to create or manipulate a symbolic link file such that its contents result in out of bounds data. When the target software processes the symbolic link file, it could potentially overflow internal buffers with insufficient bounds checking.
  • Overflow Variables and Tags
    This type of attack leverages the use of tags or variables from a formatted configuration data to cause buffer overflow. The attacker crafts a malicious HTML page or configuration file that includes oversized strings, thus causing an overflow.
  • Buffer Overflow via Parameter Expansion
    In this attack, the target software is given input that the attacker knows will be modified and expanded in size during processing. This attack relies on the target software failing to anticipate that the expanded data may exceed some internal limit, thereby creating a buffer overflow.
  • Buffer Overflow in an API Call
    This attack targets libraries or shared code modules which are vulnerable to buffer overflow attacks. An attacker who has access to an API may try to embed malicious code in the API function call and exploit a buffer overflow vulnerability in the function's implementation. All clients that make use of the code library thus become vulnerable by association. This has a very broad effect on security across a system, usually affecting more than one software process.
  • Buffer Overflow in Local Command-Line Utilities
    This attack targets command-line utilities available in a number of shells. An attacker can leverage a vulnerability found in a command-line utility to escalate privilege to root.
nessus via4
  • NASL family Fedora Local Security Checks
    NASL id FEDORA_2014-7772.NASL
    description Fix for CVE-2014-4616 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen 2019-02-21
    modified 2018-01-30
    plugin id 76539
    published 2014-07-17
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=76539
    title Fedora 19 : python-2.7.5-13.fc19 (2014-7772)
  • NASL family SuSE Local Security Checks
    NASL id OPENSUSE-2014-458.NASL
    description python and python3 were updated to fix one security issue. This security issue was fixed : - Missing boundary check in JSON module (CVE-2014-4616)
    last seen 2018-11-13
    modified 2018-11-10
    plugin id 76488
    published 2014-07-14
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=76488
    title openSUSE Security Update : python / python3 (openSUSE-SU-2014:0890-1)
  • NASL family Fedora Local Security Checks
    NASL id FEDORA_2014-14245.NASL
    description Fix for CVE-2014-4650: CGIHTTPServer module does not properly handle URL-encoded path separators in URLs. Fix for CVE-2014-4650 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen 2019-02-21
    modified 2018-01-30
    plugin id 79076
    published 2014-11-10
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=79076
    title Fedora 20 : python3-3.3.2-18.fc20 (2014-14245)
  • NASL family Fedora Local Security Checks
    NASL id FEDORA_2014-14257.NASL
    description Fix for CVE-2014-4650: CGIHTTPServer module does not properly handle URL-encoded path separators in URLs. Fix for CVE-2014-4650 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen 2019-02-21
    modified 2018-01-30
    plugin id 79238
    published 2014-11-14
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=79238
    title Fedora 19 : python3-3.3.2-10.fc19 (2014-14257)
  • NASL family Fedora Local Security Checks
    NASL id FEDORA_2014-8035.NASL
    description Fix for CVE-2014-4616 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen 2019-02-21
    modified 2018-01-30
    plugin id 76540
    published 2014-07-17
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=76540
    title Fedora 19 : python3-3.3.2-9.fc19 (2014-8035)
  • NASL family Amazon Linux Local Security Checks
    NASL id ALA_ALAS-2014-374.NASL
    description It was reported that Python built-in _json module have a flaw (insufficient bounds checking), which allows a local user to read current process' arbitrary memory. Quoting the upstream bug report : 'The sole prerequisites of this attack are that the attacker is able to control or influence the two parameters of the default scanstring function: the string to be decoded and the index. The bug is caused by allowing the user to supply a negative index value. The index value is then used directly as an index to an array in the C code; internally the address of the array and its index are added to each other in order to yield the address of the value that is desired. However, by supplying a negative index value and adding this to the address of the array, the processor's register value wraps around and the calculated value will point to a position in memory which isn't within the bounds of the supplied string, causing the function to access other parts of the process memory.'
    last seen 2019-02-21
    modified 2018-11-19
    plugin id 78317
    published 2014-10-12
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=78317
    title Amazon Linux AMI : python-simplejson (ALAS-2014-374)
  • NASL family Amazon Linux Local Security Checks
    NASL id ALA_ALAS-2014-380.NASL
    description It was reported that Python built-in _json module have a flaw (insufficient bounds checking), which allows a local user to read current process' arbitrary memory. Quoting the upstream bug report : 'The sole prerequisites of this attack are that the attacker is able to control or influence the two parameters of the default scanstring function: the string to be decoded and the index. The bug is caused by allowing the user to supply a negative index value. The index value is then used directly as an index to an array in the C code; internally the address of the array and its index are added to each other in order to yield the address of the value that is desired. However, by supplying a negative index value and adding this to the address of the array, the processor's register value wraps around and the calculated value will point to a position in memory which isn't within the bounds of the supplied string, causing the function to access other parts of the process memory.'
    last seen 2019-02-21
    modified 2018-11-19
    plugin id 78323
    published 2014-10-12
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=78323
    title Amazon Linux AMI : python27 (ALAS-2014-380)
  • NASL family CentOS Local Security Checks
    NASL id CENTOS_RHSA-2015-2101.NASL
    description Updated python packages that fix multiple security issues, several bugs, and add various enhancements are now available for Red Hat Enterprise Linux 7. Red Hat Product Security has rated this update as having Moderate security impact. Common Vulnerability Scoring System (CVSS) base scores, which give detailed severity ratings, are available for each vulnerability from the CVE links in the References section. Python is an interpreted, interactive, object-oriented programming language often compared to Tcl, Perl, Scheme, or Java. Python includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac and MFC). It was discovered that the Python xmlrpclib module did not restrict the size of gzip-compressed HTTP responses. A malicious XMLRPC server could cause an XMLRPC client using xmlrpclib to consume an excessive amount of memory. (CVE-2013-1753) It was discovered that multiple Python standard library modules implementing network protocols (such as httplib or smtplib) failed to restrict the sizes of server responses. A malicious server could cause a client using one of the affected modules to consume an excessive amount of memory. (CVE-2013-1752) It was discovered that the CGIHTTPServer module incorrectly handled URL encoded paths. A remote attacker could use this flaw to execute scripts outside of the cgi-bin directory, or disclose the source code of the scripts in the cgi-bin directory. (CVE-2014-4650) An integer overflow flaw was found in the way the buffer() function handled its offset and size arguments. An attacker able to control these arguments could use this flaw to disclose portions of the application memory or cause it to crash. (CVE-2014-7185) A flaw was found in the way the json module handled negative index arguments passed to certain functions (such as raw_decode()). An attacker able to control the index value passed to one of the affected functions could possibly use this flaw to disclose portions of the application memory. (CVE-2014-4616) The Python standard library HTTP client modules (such as httplib or urllib) did not perform verification of TLS/SSL certificates when connecting to HTTPS servers. A man-in-the-middle attacker could use this flaw to hijack connections and eavesdrop or modify transferred data. (CVE-2014-9365) Note: The Python standard library was updated to make it possible to enable certificate verification by default. However, for backwards compatibility, verification remains disabled by default. Future updates may change this default. Refer to the Knowledgebase article 2039753 linked to in the References section for further details about this change. (BZ#1219108) This update also fixes the following bugs : * Subprocesses used with the Eventlet library or regular threads previously tried to close epoll file descriptors twice, which led to an 'Invalid argument' error. Subprocesses have been fixed to close the file descriptors only once. (BZ#1103452) * When importing the readline module from a Python script, Python no longer produces erroneous random characters on stdout. (BZ#1189301) * The cProfile utility has been fixed to print all values that the '-s' option supports when this option is used without a correct value. (BZ#1237107) * The load_cert_chain() function now accepts 'None' as a keyfile argument. (BZ#1250611) In addition, this update adds the following enhancements : * Security enhancements as described in PEP 466 have been backported to the Python standard library, for example, new features of the ssl module: Server Name Indication (SNI) support, support for new TLSv1.x protocols, new hash algorithms in the hashlib module, and many more. (BZ#1111461) * Support for the ssl.PROTOCOL_TLSv1_2 protocol has been added to the ssl library. (BZ#1192015) * The ssl.SSLSocket.version() method is now available to access information about the version of the SSL protocol used in a connection. (BZ#1259421) All python users are advised to upgrade to these updated packages, which contain backported patches to correct these issues and add these enhancements.
    last seen 2019-02-21
    modified 2018-11-10
    plugin id 87129
    published 2015-12-02
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=87129
    title CentOS 7 : python (CESA-2015:2101)
  • NASL family Ubuntu Local Security Checks
    NASL id UBUNTU_USN-2653-1.NASL
    description It was discovered that multiple Python protocol libraries incorrectly limited certain data when connecting to servers. A malicious ftp, http, imap, nntp, pop or smtp server could use this issue to cause a denial of service. (CVE-2013-1752) It was discovered that the Python xmlrpc library did not limit unpacking gzip-compressed HTTP bodies. A malicious server could use this issue to cause a denial of service. (CVE-2013-1753) It was discovered that the Python json module incorrectly handled a certain argument. An attacker could possibly use this issue to read arbitrary memory and expose sensitive information. This issue only affected Ubuntu 12.04 LTS and Ubuntu 14.04 LTS. (CVE-2014-4616) It was discovered that the Python CGIHTTPServer incorrectly handled URL-encoded path separators in URLs. A remote attacker could use this issue to expose sensitive information, or possibly execute arbitrary code. This issue only affected Ubuntu 12.04 LTS and Ubuntu 14.04 LTS. (CVE-2014-4650) It was discovered that Python incorrectly handled sizes and offsets in buffer functions. An attacker could possibly use this issue to read arbitrary memory and obtain sensitive information. This issue only affected Ubuntu 12.04 LTS and Ubuntu 14.04 LTS. (CVE-2014-7185). Note that Tenable Network Security has extracted the preceding description block directly from the Ubuntu security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen 2019-02-21
    modified 2018-12-01
    plugin id 84428
    published 2015-06-26
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=84428
    title Ubuntu 12.04 LTS / 14.04 LTS / 14.10 : python2.7, python3.2, python3.4 vulnerabilities (USN-2653-1)
  • NASL family Red Hat Local Security Checks
    NASL id REDHAT-RHSA-2015-2101.NASL
    description Updated python packages that fix multiple security issues, several bugs, and add various enhancements are now available for Red Hat Enterprise Linux 7. Red Hat Product Security has rated this update as having Moderate security impact. Common Vulnerability Scoring System (CVSS) base scores, which give detailed severity ratings, are available for each vulnerability from the CVE links in the References section. Python is an interpreted, interactive, object-oriented programming language often compared to Tcl, Perl, Scheme, or Java. Python includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac and MFC). It was discovered that the Python xmlrpclib module did not restrict the size of gzip-compressed HTTP responses. A malicious XMLRPC server could cause an XMLRPC client using xmlrpclib to consume an excessive amount of memory. (CVE-2013-1753) It was discovered that multiple Python standard library modules implementing network protocols (such as httplib or smtplib) failed to restrict the sizes of server responses. A malicious server could cause a client using one of the affected modules to consume an excessive amount of memory. (CVE-2013-1752) It was discovered that the CGIHTTPServer module incorrectly handled URL encoded paths. A remote attacker could use this flaw to execute scripts outside of the cgi-bin directory, or disclose the source code of the scripts in the cgi-bin directory. (CVE-2014-4650) An integer overflow flaw was found in the way the buffer() function handled its offset and size arguments. An attacker able to control these arguments could use this flaw to disclose portions of the application memory or cause it to crash. (CVE-2014-7185) A flaw was found in the way the json module handled negative index arguments passed to certain functions (such as raw_decode()). An attacker able to control the index value passed to one of the affected functions could possibly use this flaw to disclose portions of the application memory. (CVE-2014-4616) The Python standard library HTTP client modules (such as httplib or urllib) did not perform verification of TLS/SSL certificates when connecting to HTTPS servers. A man-in-the-middle attacker could use this flaw to hijack connections and eavesdrop or modify transferred data. (CVE-2014-9365) Note: The Python standard library was updated to make it possible to enable certificate verification by default. However, for backwards compatibility, verification remains disabled by default. Future updates may change this default. Refer to the Knowledgebase article 2039753 linked to in the References section for further details about this change. (BZ#1219108) This update also fixes the following bugs : * Subprocesses used with the Eventlet library or regular threads previously tried to close epoll file descriptors twice, which led to an 'Invalid argument' error. Subprocesses have been fixed to close the file descriptors only once. (BZ#1103452) * When importing the readline module from a Python script, Python no longer produces erroneous random characters on stdout. (BZ#1189301) * The cProfile utility has been fixed to print all values that the '-s' option supports when this option is used without a correct value. (BZ#1237107) * The load_cert_chain() function now accepts 'None' as a keyfile argument. (BZ#1250611) In addition, this update adds the following enhancements : * Security enhancements as described in PEP 466 have been backported to the Python standard library, for example, new features of the ssl module: Server Name Indication (SNI) support, support for new TLSv1.x protocols, new hash algorithms in the hashlib module, and many more. (BZ#1111461) * Support for the ssl.PROTOCOL_TLSv1_2 protocol has been added to the ssl library. (BZ#1192015) * The ssl.SSLSocket.version() method is now available to access information about the version of the SSL protocol used in a connection. (BZ#1259421) All python users are advised to upgrade to these updated packages, which contain backported patches to correct these issues and add these enhancements.
    last seen 2019-02-21
    modified 2018-11-10
    plugin id 86968
    published 2015-11-20
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=86968
    title RHEL 7 : python (RHSA-2015:2101)
  • NASL family Fedora Local Security Checks
    NASL id FEDORA_2014-14208.NASL
    description Fix for CVE-2014-4650: CGIHTTPServer module does not properly handle URL-encoded path separators in URLs. Fix for CVE-2014-4650 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen 2019-02-21
    modified 2018-01-30
    plugin id 79095
    published 2014-11-11
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=79095
    title Fedora 21 : python3-3.4.1-16.fc21 (2014-14208)
  • NASL family Fedora Local Security Checks
    NASL id FEDORA_2014-7800.NASL
    description Fix for CVE-2014-4616 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen 2019-02-21
    modified 2018-01-30
    plugin id 76328
    published 2014-07-01
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=76328
    title Fedora 20 : python-2.7.5-13.fc20 (2014-7800)
  • NASL family Mandriva Local Security Checks
    NASL id MANDRIVA_MDVSA-2014-135.NASL
    description Updated python and python-simplejson package fixes security vulnerability Python are susceptible to arbitrary process memory reading by a user or adversary due to a bug in the _json module caused by insufficient bounds checking. The bug is caused by allowing the user to supply a negative value that is used an an array index, causing the scanstring function to access process memory outside of the string it is intended to access (CVE-2014-4616). This issue also affected the python-simplejson package, which has been patched to fix the bug.
    last seen 2019-02-21
    modified 2018-07-19
    plugin id 76471
    published 2014-07-11
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=76471
    title Mandriva Linux Security Advisory : python (MDVSA-2014:135)
  • NASL family Mandriva Local Security Checks
    NASL id MANDRIVA_MDVSA-2015-076.NASL
    description Updated python3 packages fix security vulnerabilities : ZipExtFile.read goes into 100% CPU infinite loop on maliciously binary edited zips (CVE-2013-7338). A vulnerability was reported in Python's socket module, due to a boundary error within the sock_recvfrom_into() function, which could be exploited to cause a buffer overflow. This could be used to crash a Python application that uses the socket.recvfrom_info() function or, possibly, execute arbitrary code with the permissions of the user running vulnerable Python code (CVE-2014-1912). It was reported that a patch added to Python 3.2 caused a race condition where a file created could be created with world read/write permissions instead of the permissions dictated by the original umask of the process. This could allow a local attacker that could win the race to view and edit files created by a program using this call. Note that prior versions of Python, including 2.x, do not include the vulnerable _get_masked_mode() function that is used by os.makedirs() when exist_ok is set to True (CVE-2014-2667). Python are susceptible to arbitrary process memory reading by a user or adversary due to a bug in the _json module caused by insufficient bounds checking. The bug is caused by allowing the user to supply a negative value that is used an an array index, causing the scanstring function to access process memory outside of the string it is intended to access (CVE-2014-4616). The CGIHTTPServer Python module does not properly handle URL-encoded path separators in URLs. This may enable attackers to disclose a CGI script's source code or execute arbitrary scripts in the server's document root (CVE-2014-4650).
    last seen 2019-02-21
    modified 2018-08-03
    plugin id 82329
    published 2015-03-30
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=82329
    title Mandriva Linux Security Advisory : python3 (MDVSA-2015:076)
  • NASL family Oracle Linux Local Security Checks
    NASL id ORACLELINUX_ELSA-2015-2101.NASL
    description From Red Hat Security Advisory 2015:2101 : Updated python packages that fix multiple security issues, several bugs, and add various enhancements are now available for Red Hat Enterprise Linux 7. Red Hat Product Security has rated this update as having Moderate security impact. Common Vulnerability Scoring System (CVSS) base scores, which give detailed severity ratings, are available for each vulnerability from the CVE links in the References section. Python is an interpreted, interactive, object-oriented programming language often compared to Tcl, Perl, Scheme, or Java. Python includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac and MFC). It was discovered that the Python xmlrpclib module did not restrict the size of gzip-compressed HTTP responses. A malicious XMLRPC server could cause an XMLRPC client using xmlrpclib to consume an excessive amount of memory. (CVE-2013-1753) It was discovered that multiple Python standard library modules implementing network protocols (such as httplib or smtplib) failed to restrict the sizes of server responses. A malicious server could cause a client using one of the affected modules to consume an excessive amount of memory. (CVE-2013-1752) It was discovered that the CGIHTTPServer module incorrectly handled URL encoded paths. A remote attacker could use this flaw to execute scripts outside of the cgi-bin directory, or disclose the source code of the scripts in the cgi-bin directory. (CVE-2014-4650) An integer overflow flaw was found in the way the buffer() function handled its offset and size arguments. An attacker able to control these arguments could use this flaw to disclose portions of the application memory or cause it to crash. (CVE-2014-7185) A flaw was found in the way the json module handled negative index arguments passed to certain functions (such as raw_decode()). An attacker able to control the index value passed to one of the affected functions could possibly use this flaw to disclose portions of the application memory. (CVE-2014-4616) The Python standard library HTTP client modules (such as httplib or urllib) did not perform verification of TLS/SSL certificates when connecting to HTTPS servers. A man-in-the-middle attacker could use this flaw to hijack connections and eavesdrop or modify transferred data. (CVE-2014-9365) Note: The Python standard library was updated to make it possible to enable certificate verification by default. However, for backwards compatibility, verification remains disabled by default. Future updates may change this default. Refer to the Knowledgebase article 2039753 linked to in the References section for further details about this change. (BZ#1219108) This update also fixes the following bugs : * Subprocesses used with the Eventlet library or regular threads previously tried to close epoll file descriptors twice, which led to an 'Invalid argument' error. Subprocesses have been fixed to close the file descriptors only once. (BZ#1103452) * When importing the readline module from a Python script, Python no longer produces erroneous random characters on stdout. (BZ#1189301) * The cProfile utility has been fixed to print all values that the '-s' option supports when this option is used without a correct value. (BZ#1237107) * The load_cert_chain() function now accepts 'None' as a keyfile argument. (BZ#1250611) In addition, this update adds the following enhancements : * Security enhancements as described in PEP 466 have been backported to the Python standard library, for example, new features of the ssl module: Server Name Indication (SNI) support, support for new TLSv1.x protocols, new hash algorithms in the hashlib module, and many more. (BZ#1111461) * Support for the ssl.PROTOCOL_TLSv1_2 protocol has been added to the ssl library. (BZ#1192015) * The ssl.SSLSocket.version() method is now available to access information about the version of the SSL protocol used in a connection. (BZ#1259421) All python users are advised to upgrade to these updated packages, which contain backported patches to correct these issues and add these enhancements.
    last seen 2019-02-21
    modified 2018-07-25
    plugin id 87020
    published 2015-11-24
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=87020
    title Oracle Linux 7 : python (ELSA-2015-2101)
  • NASL family Gentoo Local Security Checks
    NASL id GENTOO_GLSA-201503-10.NASL
    description The remote host is affected by the vulnerability described in GLSA-201503-10 (Python: Multiple vulnerabilities) Multiple vulnerabilities have been discovered in Python. Please review the CVE identifiers referenced below for details. Impact : A context-dependent attacker may be able to execute arbitrary code or cause a Denial of Service condition. Workaround : There is no known workaround at this time.
    last seen 2019-02-21
    modified 2018-08-02
    plugin id 82009
    published 2015-03-24
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=82009
    title GLSA-201503-10 : Python: Multiple vulnerabilities
  • NASL family Scientific Linux Local Security Checks
    NASL id SL_20151119_PYTHON_ON_SL7_X.NASL
    description It was discovered that the Python xmlrpclib module did not restrict the size of gzip-compressed HTTP responses. A malicious XMLRPC server could cause an XMLRPC client using xmlrpclib to consume an excessive amount of memory. (CVE-2013-1753) It was discovered that multiple Python standard library modules implementing network protocols (such as httplib or smtplib) failed to restrict the sizes of server responses. A malicious server could cause a client using one of the affected modules to consume an excessive amount of memory. (CVE-2013-1752) It was discovered that the CGIHTTPServer module incorrectly handled URL encoded paths. A remote attacker could use this flaw to execute scripts outside of the cgi-bin directory, or disclose the source code of the scripts in the cgi-bin directory. (CVE-2014-4650) An integer overflow flaw was found in the way the buffer() function handled its offset and size arguments. An attacker able to control these arguments could use this flaw to disclose portions of the application memory or cause it to crash. (CVE-2014-7185) A flaw was found in the way the json module handled negative index arguments passed to certain functions (such as raw_decode()). An attacker able to control the index value passed to one of the affected functions could possibly use this flaw to disclose portions of the application memory. (CVE-2014-4616) The Python standard library HTTP client modules (such as httplib or urllib) did not perform verification of TLS/SSL certificates when connecting to HTTPS servers. A man-in-the-middle attacker could use this flaw to hijack connections and eavesdrop or modify transferred data. (CVE-2014-9365) This update also fixes the following bugs : - Subprocesses used with the Eventlet library or regular threads previously tried to close epoll file descriptors twice, which led to an 'Invalid argument' error. Subprocesses have been fixed to close the file descriptors only once. - When importing the readline module from a Python script, Python no longer produces erroneous random characters on stdout. - The cProfile utility has been fixed to print all values that the '-s' option supports when this option is used without a correct value. - The load_cert_chain() function now accepts 'None' as a keyfile argument. In addition, this update adds the following enhancements : - Security enhancements as described in PEP 466 have been backported to the Python standard library, for example, new features of the ssl module: Server Name Indication (SNI) support, support for new TLSv1.x protocols, new hash algorithms in the hashlib module, and many more. - Support for the ssl.PROTOCOL_TLSv1_2 protocol has been added to the ssl library. - The ssl.SSLSocket.version() method is now available to access information about the version of the SSL protocol used in a connection.
    last seen 2019-02-21
    modified 2018-12-28
    plugin id 87570
    published 2015-12-22
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=87570
    title Scientific Linux Security Update : python on SL7.x x86_64
  • NASL family Mandriva Local Security Checks
    NASL id MANDRIVA_MDVSA-2015-075.NASL
    description Updated python packages fix security vulnerabilities : A vulnerability was reported in Python's socket module, due to a boundary error within the sock_recvfrom_into() function, which could be exploited to cause a buffer overflow. This could be used to crash a Python application that uses the socket.recvfrom_info() function or, possibly, execute arbitrary code with the permissions of the user running vulnerable Python code (CVE-2014-1912). This updates the python package to version 2.7.6, which fixes several other bugs, including denial of service flaws due to unbound readline() calls in the ftplib and nntplib modules (CVE-2013-1752). Denial of service flaws due to unbound readline() calls in the imaplib, poplib, and smtplib modules (CVE-2013-1752). A gzip bomb and unbound read denial of service flaw in python XMLRPC library (CVE-2013-1753). Python are susceptible to arbitrary process memory reading by a user or adversary due to a bug in the _json module caused by insufficient bounds checking. The bug is caused by allowing the user to supply a negative value that is used an an array index, causing the scanstring function to access process memory outside of the string it is intended to access (CVE-2014-4616). The CGIHTTPServer Python module does not properly handle URL-encoded path separators in URLs. This may enable attackers to disclose a CGI script's source code or execute arbitrary scripts in the server's document root (CVE-2014-4650). Python before 2.7.8 is vulnerable to an integer overflow in the buffer type (CVE-2014-7185). When Python's standard library HTTP clients (httplib, urllib, urllib2, xmlrpclib) are used to access resources with HTTPS, by default the certificate is not checked against any trust store, nor is the hostname in the certificate checked against the requested host. It was possible to configure a trust root to be checked against, however there were no faculties for hostname checking (CVE-2014-9365). The python-pip and tix packages was added due to missing build dependencies.
    last seen 2019-02-21
    modified 2018-08-03
    plugin id 82328
    published 2015-03-30
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=82328
    title Mandriva Linux Security Advisory : python (MDVSA-2015:075)
redhat via4
advisories
rhsa
id RHSA-2015:1064
rpms
  • python-0:2.7.5-34.el7
  • python-debug-0:2.7.5-34.el7
  • python-devel-0:2.7.5-34.el7
  • python-libs-0:2.7.5-34.el7
  • python-test-0:2.7.5-34.el7
  • python-tools-0:2.7.5-34.el7
  • tkinter-0:2.7.5-34.el7
refmap via4
bid 68119
confirm
gentoo GLSA-201503-10
misc
mlist [oss-security] 20140624 Re: CVE request: python: _json module is vulnerable to arbitrary process memory read
suse openSUSE-SU-2014:0890
Last major update 24-08-2017 - 16:29
Published 24-08-2017 - 16:29
Last modified 30-10-2018 - 12:27
Back to Top