Improper Input Validation Affecting url-parse package, versions <1.4.5
Threat Intelligence
Do your applications use this vulnerable package?
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applications- Snyk ID SNYK-JS-URLPARSE-543307
- published 27 Jan 2020
- disclosed 27 Jan 2020
- credit ronperris
Introduced: 27 Jan 2020
CVE-2020-8124 Open this link in a new tabHow to fix?
Upgrade url-parse
to version 1.4.5 or higher.
Overview
url-parse is a Small footprint URL parser that works seamlessly across Node.js and browser environments.
Affected versions of this package are vulnerable to Improper Input Validation. When using url-parse
in the browser the protocol of the URL returned by the parser is not validated correctly. In the Node.js environment strings like, javascript:
return empty strings on the resulting URL object, but in the browser document.location.protocol
is used when the provided URL doesn't match the validation expression /^([a-z][a-z0-9.+-]*:)?(\/\/)?([\S\s]*)/i
.
PoC by ronperris
assume(parse.extractProtocol(' javscript:')).eql({
slashes: false,
protocol: '',
rest: ''
})