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.
The product uses a regular expression with an inefficient, possibly exponential worst-case computational complexity that consumes excessive CPU cycles.
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 | * |
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.