CVE-2017-16021: uri-js is a module that tries to fully implement RFC 3986
CVE-2017-16021 is a medium-severity flaw (CVSS 6.5) affecting uri-js. Below: why it ranks where it does, which versions are affected, what to do, and the exact commands.
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()
Why this priority
- Public exploit reference
A fixed release or distro patch exists.
Last updated 2026-06-17 · Sources: CVE Program, NVD, CISA KEV, EPSS and vendor advisories · How we score
Am I affected?
Timeline
- Published CVE record published
- Updated Record last modified
Scores and fixes here are computed automatically from those and other public sources. Confirm with the vendor advisory before changing production systems.
Quick answers
How do I fix CVE-2017-16021?
uri-js: upgrade to newer than 2.1.1. Exact commands for each OS are on this page.
Is CVE-2017-16021 being exploited?
CVE-2017-16021 is not on the CISA Known Exploited Vulnerabilities list at the time of the last update. Check again, as this can change.
What does CVE-2017-16021 affect?
CVE-2017-16021 affects uri-js. Severity is medium (CVSS 6.5). 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
How urgent is CVE-2017-16021?
Priority 45/100. Public exploit reference