Debian DLA-3432-1 : python2.7 - LTS security update

critical Nessus Plugin ID 176347

Synopsis

The remote Debian host is missing one or more security-related updates.

Description

The remote Debian 10 host has packages installed that are affected by multiple vulnerabilities as referenced in the dla-3432 advisory.

- In Python (aka CPython) up to 3.10.8, the mailcap module does not add escape characters into commands discovered in the system mailcap file. This may allow attackers to inject shell commands into applications that call mailcap.findmatch with untrusted input (if they lack validation of user-provided filenames or arguments). The fix is also back-ported to 3.7, 3.8, 3.9 (CVE-2015-20107)

- In Lib/tarfile.py in Python through 3.8.3, an attacker is able to craft a TAR archive leading to an infinite loop when opened by tarfile.open, because _proc_pax lacks header validation. (CVE-2019-20907)

- http.client in Python 3.x before 3.5.10, 3.6.x before 3.6.12, 3.7.x before 3.7.9, and 3.8.x before 3.8.5 allows CRLF injection if the attacker controls the HTTP request method, as demonstrated by inserting CR and LF control characters in the first argument of HTTPConnection.request. (CVE-2020-26116)

- Python 2.7 through 2.7.17, 3.5 through 3.5.9, 3.6 through 3.6.10, 3.7 through 3.7.6, and 3.8 through 3.8.1 allows an HTTP server to conduct Regular Expression Denial of Service (ReDoS) attacks against a client because of urllib.request.AbstractBasicAuthHandler catastrophic backtracking. (CVE-2020-8492)

- Python 3.x through 3.9.1 has a buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution in certain Python applications that accept floating-point numbers as untrusted input, as demonstrated by a 1e300 argument to c_double.from_param. This occurs because sprintf is used unsafely. (CVE-2021-3177)

- There's a flaw in urllib's AbstractBasicAuthHandler class. An attacker who controls a malicious HTTP server that an HTTP client (such as web browser) connects to, could trigger a Regular Expression Denial of Service (ReDOS) during an authentication request with a specially crafted payload that is sent by the server to the client. The greatest threat that this flaw poses is to application availability.
(CVE-2021-3733)

- A flaw was found in python. An improperly handled HTTP response in the HTTP client code of python may allow a remote attacker, who controls the HTTP server, to make the client script enter an infinite loop, consuming CPU time. The highest threat from this vulnerability is to system availability. (CVE-2021-3737)

- A flaw was found in Python, specifically in the FTP (File Transfer Protocol) client library in PASV (passive) mode. The issue is how the FTP client trusts the host from the PASV response by default. This flaw allows an attacker to set up a malicious FTP server that can trick FTP clients into connecting back to a given IP address and port. This vulnerability could lead to FTP client scanning ports, which otherwise would not have been possible. (CVE-2021-4189)

- An issue was discovered in Python before 3.11.1. An unnecessary quadratic algorithm exists in one path when processing some inputs to the IDNA (RFC 3490) decoder, such that a crafted, unreasonably long name being presented to the decoder could lead to a CPU denial of service. Hostnames are often supplied by remote servers that could be controlled by a malicious actor; in such a scenario, they could trigger excessive CPU consumption on the client attempting to make use of an attacker-supplied supposed hostname.
For example, the attack payload could be placed in the Location header of an HTTP response with status code 302. A fix is planned in 3.11.1, 3.10.9, 3.9.16, 3.8.16, and 3.7.16. (CVE-2022-45061)

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version number.

Solution

Upgrade the python2.7 packages.

For Debian 10 buster, these problems have been fixed in version 2.7.16-2+deb10u2.

See Also

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=970099

https://security-tracker.debian.org/tracker/source-package/python2.7

https://www.debian.org/lts/security/2023/dla-3432

https://security-tracker.debian.org/tracker/CVE-2015-20107

https://security-tracker.debian.org/tracker/CVE-2019-20907

https://security-tracker.debian.org/tracker/CVE-2020-26116

https://security-tracker.debian.org/tracker/CVE-2020-8492

https://security-tracker.debian.org/tracker/CVE-2021-3177

https://security-tracker.debian.org/tracker/CVE-2021-3733

https://security-tracker.debian.org/tracker/CVE-2021-3737

https://security-tracker.debian.org/tracker/CVE-2021-4189

https://security-tracker.debian.org/tracker/CVE-2022-45061

https://packages.debian.org/source/buster/python2.7

Plugin Details

Severity: Critical

ID: 176347

File Name: debian_DLA-3432.nasl

Version: 1.0

Type: local

Agent: unix

Published: 5/25/2023

Updated: 5/25/2023

Supported Sensors: Agentless Assessment, Frictionless Assessment Agent, Nessus Agent, Nessus

Risk Information

VPR

Risk Factor: Medium

Score: 6.7

CVSS v2

Risk Factor: High

Base Score: 8

Temporal Score: 6.6

Vector: CVSS2#AV:N/AC:L/Au:S/C:P/I:C/A:P

CVSS Score Source: CVE-2015-20107

CVSS v3

Risk Factor: Critical

Base Score: 9.8

Temporal Score: 9.1

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Temporal Vector: CVSS:3.0/E:F/RL:O/RC:C

CVSS Score Source: CVE-2021-3177

Vulnerability Information

CPE: p-cpe:/a:debian:debian_linux:python2.7-doc, p-cpe:/a:debian:debian_linux:python2.7-dbg, p-cpe:/a:debian:debian_linux:libpython2.7-dbg, p-cpe:/a:debian:debian_linux:libpython2.7-minimal, p-cpe:/a:debian:debian_linux:libpython2.7-stdlib, p-cpe:/a:debian:debian_linux:idle-python2.7, p-cpe:/a:debian:debian_linux:python2.7, cpe:/o:debian:debian_linux:10.0, p-cpe:/a:debian:debian_linux:python2.7-examples, p-cpe:/a:debian:debian_linux:libpython2.7, p-cpe:/a:debian:debian_linux:libpython2.7-testsuite, p-cpe:/a:debian:debian_linux:python2.7-dev, p-cpe:/a:debian:debian_linux:libpython2.7-dev, p-cpe:/a:debian:debian_linux:python2.7-minimal

Required KB Items: Host/local_checks_enabled, Host/Debian/release, Host/Debian/dpkg-l

Exploit Available: true

Exploit Ease: Exploits are available

Patch Publication Date: 5/24/2023

Vulnerability Publication Date: 1/30/2020

Reference Information

CVE: CVE-2015-20107, CVE-2019-20907, CVE-2020-26116, CVE-2020-8492, CVE-2021-3177, CVE-2021-3733, CVE-2021-3737, CVE-2021-4189, CVE-2022-45061