Uncontrolled resource consumption in HackerOne uri-js node module
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-400.
Summary
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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| HackerOne | uri-js node module | up to 2.1.1 | — | No fix listed | CNA |
| — | uri-js (npm) | before 3.0.0 | 3.0.0 | Patch available | GHSA-333w-rxj3-f55r |
- uri-js node module VendorHackerOne Affected up to 2.1.1 Fixed in — No fix listed CNA
- uri-js (npm) Vendor— Affected before 3.0.0 Fixed in 3.0.0 Patch available GHSA-333w-rxj3-f55r
Remediation
- Fix · GHSA-333w-rxj3-f55r uri-js (npm) Fixed in 3.0.0 Advisory →
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2017-16021
- 2026-10-03 Alias added: GHSA-333w-rxj3-f55r
References
Sources
- CVE-2017-16021 · CVE Program
- CVE-2017-16021 · NVD
- FIRST EPSS
- GHSA-333w-rxj3-f55r · GitHub Advisory Database · CC BY 4.0
- CVE-2017-16021 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences