Your submission was sent successfully! Close

You have successfully unsubscribed! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates about Ubuntu and upcoming events where you can meet our team.Close

CVE-2020-7212

Published: 6 March 2020

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).

Notes

AuthorNote
leosilva
Introduced by a74c9cfbaed9f811e7563cfc3dce894928e0221a
fixed by a2697e7c6b275f05879b60f593c5854a816489f0
Introduced in 1.25.2 and fixed in 1.25.8

Priority

Medium

Cvss 3 Severity Score

7.5

Score breakdown

Status

Package Release Status
python-urllib3
Launchpad, Ubuntu, Debian
bionic Not vulnerable

eoan Not vulnerable

focal Not vulnerable
(1.25.8-2)
trusty Not vulnerable

upstream
Released (1.25.8)
xenial Not vulnerable

Patches:
upstream: https://github.com/urllib3/urllib3/commit/a2697e7c6b275f05879b60f593c5854a816489f0

Severity score breakdown

Parameter Value
Base score 7.5
Attack vector Network
Attack complexity Low
Privileges required None
User interaction None
Scope Unchanged
Confidentiality None
Integrity impact None
Availability impact High
Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H