ReDoS vulnerability in UAParser.js library



Published: 2018-07-12 | Updated: 2020-05-11
Risk Medium
Patch available YES
Number of vulnerabilities 1
CVE-ID CVE-2017-16086
CWE-ID CWE-400
Exploitation vector Network
Public exploit Public exploit code for vulnerability #1 is available.
Vulnerable software
Subscribe
UAParser.js
Web applications / JS libraries

Vendor Faisal Salman

Security Bulletin

This security bulletin contains one medium risk vulnerability.

1) Resource exhaustion

EUVDB-ID: #VU27690

Risk: Medium

CVSSv3.1: 7 [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:F/RL:O/RC:C]

CVE-ID: CVE-2017-16086

CWE-ID: CWE-400 - Resource exhaustion

Exploit availability: Yes

Description

The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.

The vulnerability exists due to application does not properly control consumption of internal resources when parsing regular expressions.A remote attacker can pass a very long UserAgent header to the application and trigger a Regular Expression Denial of Service (ReDoS).

Server-side applications that use "ua-parser-js" for parsing the browser user-agent string will be vulnerable if they call the "getOS" or "getResult" functions.

Mitigation

Install updates from vendor's website.

Vulnerable software versions

UAParser.js: 0.1 - 0.7.15

External links

http://nodesecurity.io/advisories/316
http://github.com/faisalman/ua-parser-js/commit/25e143ee7caba78c6405a57d1d06b19c1e8e2f79


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability. However, a fully functional exploit for this vulnerability is available.



###SIDEBAR###