The _encode_invalid_chars function in util/url.py in the urllib3 library 1.25.2 through 1.25.7 for Python allows a denial of service (CPU consumption) because of an inefficient algorithm. The percent_encodings array contains all matches of percent encodings. It is not deduplicated. For a URL of length N, the size of percent_encodings may be up to O(N). The next step (normalize existing percent-encoded bytes) also takes up to O(N) for each step, so the total time is O(N^2). If percent_encodings were deduplicated, the time to compute _encode_invalid_chars would be O(kN), where k is at most 484 ((10+6*2)^2).
Published 2020-03-06 20:15:13
Updated 2020-03-09 16:55:15
Source MITRE
View at NVD,   CVE.org
Vulnerability category: Denial of service

Products affected by CVE-2020-7212

Exploit prediction scoring system (EPSS) score for CVE-2020-7212

0.20%
Probability of exploitation activity in the next 30 days EPSS Score History
~ 58 %
Percentile, the proportion of vulnerabilities that are scored at or less

CVSS scores for CVE-2020-7212

Base Score Base Severity CVSS Vector Exploitability Score Impact Score Score Source First Seen
7.8
HIGH AV:N/AC:L/Au:N/C:N/I:N/A:C
10.0
6.9
NIST
7.5
HIGH CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
3.9
3.6
NIST

CWE ids for CVE-2020-7212

  • The product does not properly control the allocation and maintenance of a limited resource, thereby enabling an actor to influence the amount of resources consumed, eventually leading to the exhaustion of available resources.
    Assigned by: nvd@nist.gov (Primary)

References for CVE-2020-7212

Jump to
This web site uses cookies for managing your session, storing preferences, website analytics and additional purposes described in our privacy policy.
By using this web site you are agreeing to CVEdetails.com terms of use!