CVE Vulnerabilities

CVE-2021-21317

Inefficient Regular Expression Complexity

Published: Feb 16, 2021 | Modified: Feb 08, 2024
CVSS 3.x
5.3
MEDIUM
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS 2.x
5 MEDIUM
AV:N/AC:L/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM

uap-core in an open-source npm package which contains the core of BrowserScopes original user agent string parser. In uap-core before version 0.11.0, some regexes are vulnerable to regular expression denial of service (REDoS) due to overlapping capture groups. This allows remote attackers to overload a server by setting the User-Agent header in an HTTP(S) request to maliciously crafted long strings. This is fixed in version 0.11.0. Downstream packages such as uap-python, uap-ruby etc which depend upon uap-core follow different version schemes.

Weakness

The product uses a regular expression with an inefficient, possibly exponential worst-case computational complexity that consumes excessive CPU cycles.

Affected Software

Name Vendor Start Version End Version
Uap-core Uap-core_project * 0.11.0 (excluding)
Uap-core Ubuntu devel *
Uap-core Ubuntu esm-apps/jammy *
Uap-core Ubuntu esm-apps/noble *
Uap-core Ubuntu groovy *
Uap-core Ubuntu hirsute *
Uap-core Ubuntu impish *
Uap-core Ubuntu jammy *
Uap-core Ubuntu kinetic *
Uap-core Ubuntu lunar *
Uap-core Ubuntu mantic *
Uap-core Ubuntu noble *
Uap-core Ubuntu oracular *
Uap-core Ubuntu trusty *
Uap-core Ubuntu upstream *

Extended Description

	  Attackers can create crafted inputs that
	  intentionally cause the regular expression to use
	  excessive backtracking in a way that causes the CPU
	  consumption to spike.

Potential Mitigations

References