{"id":"CVE-2017-16021","state":"PUBLISHED","title":"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 expr","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.","publishedAt":"2018-06-04T19:00:00.000Z","updatedAt":"2024-09-17T01:46:00.192Z","severity":null,"assigner":"hackerone","products":["HackerOne uri-js node module"],"affected":[{"vendor":"HackerOne","product":"uri-js node module","versions":[{"version":"<=2.1.1","status":"affected"}]}],"references":["https://github.com/garycourt/uri-js/issues/12","https://nodesecurity.io/advisories/100"],"weaknesses":["CWE-400"],"ingestedAt":"2026-10-29T19:43:25.795Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2017/16xxx/CVE-2017-16021.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2017-16021","state":"PUBLISHED","datePublished":"2018-06-04T19:00:00.000Z","dateUpdated":"2024-09-17T01:46:00.192Z","assignerShortName":"hackerone","assignerOrgId":"36234546-b8fa-4601-9d6f-f4e334aa8ea1","dateReserved":"2017-10-29T00:00:00.000Z"},"containers":{"cna":{"descriptions":[{"lang":"en","value":"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":[{"vendor":"HackerOne","product":"uri-js node module","versions":[{"version":"<=2.1.1","status":"affected"}]}],"references":[{"url":"https://github.com/garycourt/uri-js/issues/12","tags":["x_refsource_MISC"]},{"url":"https://nodesecurity.io/advisories/100","tags":["x_refsource_MISC"]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-400","description":"Denial of Service (CWE-400)","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"hackerone","dateUpdated":"2018-06-04T18:57:01.000Z","orgId":"36234546-b8fa-4601-9d6f-f4e334aa8ea1"},"datePublic":"2018-04-26T00:00:00.000Z","x_legacyV4Record":{"CVE_data_meta":{"ASSIGNER":"support@hackerone.com","DATE_PUBLIC":"2018-04-26T00:00:00","ID":"CVE-2017-16021","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"uri-js node module","version":{"version_data":[{"version_value":"<=2.1.1"}]}}]},"vendor_name":"HackerOne"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"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."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"Denial of Service (CWE-400)"}]}]},"references":{"reference_data":[{"name":"https://github.com/garycourt/uri-js/issues/12","refsource":"MISC","url":"https://github.com/garycourt/uri-js/issues/12"},{"name":"https://nodesecurity.io/advisories/100","refsource":"MISC","url":"https://nodesecurity.io/advisories/100"}]}}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://github.com/garycourt/uri-js/issues/12","tags":["x_refsource_MISC","x_transferred"]},{"url":"https://nodesecurity.io/advisories/100","tags":["x_refsource_MISC","x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-05T20:13:06.640Z"}}]}}}