KLA10866
Multiple vulnerabilities in Python
Updated: 06/01/2019
Detect date
?
02/09/2016
Severity
?
Critical
Description

Multiple serious vulnerabilities have been found in CPython (Python) before 2.7.12, 3.x before 3.4.5, and 3.5.x before 3.5.2. Malicious users can exploit these vulnerabilities to bypass the TLS protections, inject arbitrary HTTP headers or have unspecified impact.

Below is a complete list of vulnerabilities:

  1. CRLF injection vulnerability can be exploited to inject arbitrary HTTP headers via CRLF sequences in a URL.
  2. Integer overflow can be exploited via a negative data size value, which triggers a heap-based buffer overflow.
  3. TLS stripping vulnerability can be exploited by man-in-the-middleattackers to bypass the TLS protections via leveraging a network position between the client and the registry to block the StartTLS command (“StartTLS stripping attack”).

Technical details

  1. CRLF injection vulnerability is in the HTTPConnection.putheader function in urllib2 and urllib in CPython.
  2. Integer overflow occurs in the get_data function in file zipimport.c from smtplib library in CPython.
  3. TLS stripping vulnerability occurs in the smtplib library in CPython.
Affected products

CPython 2.x before 2.7.12;
CPython 3.x before 3.4.5;
CPython 3.5.x before 3.5.2.

Solution

Update to the latest version
Patch to disable http header injection
Patch to StartTLS stripping attack (for branch 3.4)
Patch to StartTLS stripping attack (for branch 2.7)

Impacts
?
CI 
[?]

SB 
[?]
CVE-IDS
?
CVE-2016-56994.3Warning
CVE-2016-563610.0Critical
CVE-2016-07725.8High