What’s Vulnerable › Vulnerabilities
CVE-2017-16021
- Severity: medium (CVSS 6.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 1.3% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2018-06-04 · updated 2026-06-17
- Weakness: CWE-400
Description
uri-js is a module that tries to fully implement RFC 3986. One of these features is validating whether or not a supplied URL is valid or not. To do this, uri-js uses a regular expression, This regular expression is vulnerable to redos. This causes the program to hang and the CPU to idle at 100% usage while uri-js is trying to validate if the supplied URL is valid or not. To check if you're vulnerable, look for a call to `require("uri-js").parse()` where a user is able to send their own input. This affects uri-js 2.1.1 and earlier.
Affected products
- garycourt uri-js: through 2.1.1
References
- https://github.com/garycourt/uri-js/issues/12
- https://nodesecurity.io/advisories/100
- https://github.com/garycourt/uri-js/issues/12
- https://nodesecurity.io/advisories/100
Get alerted when CVE-2017-16021 or the next vulnerability affects your stack