CVE Vulnerabilities

CVE-2021-21240

Uncontrolled Resource Consumption

Published: Feb 08, 2021 | Modified: Nov 21, 2024
CVSS 3.x
7.5
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
7.5 LOW
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu
LOW
root.io logo minimus.io logo echo.ai logo

httplib2 is a comprehensive HTTP client library for Python. In httplib2 before version 0.19.0, a malicious server which responds with long series of xa0 characters in the www-authenticate header may cause Denial of Service (CPU burn while parsing header) of the httplib2 client accessing said server. This is fixed in version 0.19.0 which contains a new implementation of auth headers parsing using the pyparsing library.

Weakness

The product does not properly control the allocation and maintenance of a limited resource.

Affected Software

NameVendorStart VersionEnd Version
Httplib2Httplib2_project*0.19.0 (excluding)
Red Hat OpenStack Platform 16.1RedHatpython-httplib2-0:0.13.1-2.el8ost*
Python-httplib2Ubuntubionic*
Python-httplib2Ubuntuesm-infra-legacy/trusty*
Python-httplib2Ubuntuesm-infra/bionic*
Python-httplib2Ubuntuesm-infra/focal*
Python-httplib2Ubuntuesm-infra/xenial*
Python-httplib2Ubuntufocal*
Python-httplib2Ubuntugroovy*
Python-httplib2Ubuntuhirsute*
Python-httplib2Ubuntuimpish*
Python-httplib2Ubuntujammy*
Python-httplib2Ubuntukinetic*
Python-httplib2Ubuntuprecise/esm*
Python-httplib2Ubuntutrusty*
Python-httplib2Ubuntutrusty/esm*
Python-httplib2Ubuntuupstream*
Python-httplib2Ubuntuxenial*

Potential Mitigations

  • Mitigation of resource exhaustion attacks requires that the target system either:

  • The first of these solutions is an issue in itself though, since it may allow attackers to prevent the use of the system by a particular valid user. If the attacker impersonates the valid user, they may be able to prevent the user from accessing the server in question.

  • The second solution is simply difficult to effectively institute – and even when properly done, it does not provide a full solution. It simply makes the attack require more resources on the part of the attacker.

References