CVE-2017-16021: Medium severity uri-js vulnerability

Published Jun 4, 2018
·
Updated

Affected versions of uri-js is susceptible to a regular expression denial of service vulnerability when user input is sent to the .parse() method.

Recommendation

Update to v3.0.0 or later.

Other sources

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 Software

3 affected componentsFixes available
npm/uri-js<3.0.0
3.0.0
Uri-js Project Uri-js Node.js<=2.1.1
Garycourt Uri-js Node.js<=2.1.1

Event History

Jun 4, 2018
CVE Published
via MITRE·07:00 PM
Data Sourced
via MITRE·07:00 PM
DescriptionWeakness
Jul 24, 2018
Advisory Published
via GitHub·08:00 PM

Frequently Asked Questions

1

What is the severity of CVE-2017-16021?

CVE-2017-16021 is classified as a regular expression denial of service vulnerability.

2

How do I fix CVE-2017-16021?

To fix CVE-2017-16021, update the uri-js package to version 3.0.0 or later.

3

Which versions of uri-js are affected by CVE-2017-16021?

CVE-2017-16021 affects versions of uri-js up to and including 2.1.1.

4

What function in uri-js is vulnerable according to CVE-2017-16021?

The vulnerability in CVE-2017-16021 arises when user input is processed by the .parse() method.

5

Is CVE-2017-16021 applicable only to certain environments?

CVE-2017-16021 is applicable to all implementations of uri-js in Node.js environments.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203