Show plain JSON{"id": "CVE-2017-16021", "metrics": {"cvssMetricV2": [{"type": "Primary", "source": "nvd@nist.gov", "cvssData": {"version": "2.0", "baseScore": 6.8, "accessVector": "NETWORK", "vectorString": "AV:N/AC:L/Au:S/C:N/I:N/A:C", "authentication": "SINGLE", "integrityImpact": "NONE", "accessComplexity": "LOW", "availabilityImpact": "COMPLETE", "confidentialityImpact": "NONE"}, "acInsufInfo": false, "impactScore": 6.9, "baseSeverity": "MEDIUM", "obtainAllPrivilege": false, "exploitabilityScore": 8.0, "obtainUserPrivilege": false, "obtainOtherPrivilege": false, "userInteractionRequired": false}], "cvssMetricV31": [{"type": "Primary", "source": "nvd@nist.gov", "cvssData": {"scope": "UNCHANGED", "version": "3.1", "baseScore": 6.5, "attackVector": "NETWORK", "baseSeverity": "MEDIUM", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H", "integrityImpact": "NONE", "userInteraction": "NONE", "attackComplexity": "LOW", "availabilityImpact": "HIGH", "privilegesRequired": "LOW", "confidentialityImpact": "NONE"}, "impactScore": 3.6, "exploitabilityScore": 2.8}]}, "published": "2018-06-04T19:29:01.303", "references": [{"url": "https://github.com/garycourt/uri-js/issues/12", "tags": ["Exploit", "Issue Tracking", "Third Party Advisory"], "source": "support@hackerone.com"}, {"url": "https://nodesecurity.io/advisories/100", "tags": ["Broken Link", "Third Party Advisory"], "source": "support@hackerone.com"}, {"url": "https://github.com/garycourt/uri-js/issues/12", "tags": ["Exploit", "Issue Tracking", "Third Party Advisory"], "source": "af854a3a-2127-422b-91ae-364da2661108"}, {"url": "https://nodesecurity.io/advisories/100", "tags": ["Broken Link", "Third Party Advisory"], "source": "af854a3a-2127-422b-91ae-364da2661108"}], "vulnStatus": "Modified", "weaknesses": [{"type": "Secondary", "source": "support@hackerone.com", "description": [{"lang": "en", "value": "CWE-400"}]}, {"type": "Primary", "source": "nvd@nist.gov", "description": [{"lang": "en", "value": "CWE-1333"}]}], "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."}, {"lang": "es", "value": "uri-js es un m\u00f3dulo que intenta implementar RFC 3986 completamente. Una de estas caracter\u00edsticas es validar si una URL proporcionada es v\u00e1lida o no. Para hacerlo, uri-js emplea una expresi\u00f3n regular que es vulnerable a una denegaci\u00f3n de servicio con expresiones regulares (ReDoS). Esto provoca que el programa se bloquee y que la CPU se vuelva inactiva al uso al 100% mientras uri-js intenta validar si la URL proporcionada es v\u00e1lida o no. Para comprobar si se es vulnerable, se debe buscar una llamada a \"require(\"uri-js\").parse()\" en la que el usuario pueda enviar sus propias entradas. Esto afecta a uri-js en versiones 2.1.1 y anteriores."}], "lastModified": "2024-11-21T03:15:40.693", "configurations": [{"nodes": [{"negate": false, "cpeMatch": [{"criteria": "cpe:2.3:a:garycourt:uri-js:*:*:*:*:*:node.js:*:*", "vulnerable": true, "matchCriteriaId": "540B9C87-F30C-4317-8B31-F95A5429BBCF", "versionEndIncluding": "2.1.1"}], "operator": "OR"}]}], "sourceIdentifier": "support@hackerone.com"}