Описание
url-parse incorrectly parses hostname / protocol due to unstripped leading control characters.
Leading control characters in a URL are not stripped when passed into url-parse. This can cause input URLs to be mistakenly be interpreted as a relative URL without a hostname and protocol, while the WHATWG URL parser will trim control characters and treat it as an absolute URL.
If url-parse is used in security decisions involving the hostname / protocol, and the input URL is used in a client which uses the WHATWG URL parser, the decision may be incorrect.
This can also lead to a cross-site scripting (XSS) vulnerability if url-parse is used to check for the javascript: protocol in URLs. See following example:
Ссылки
- https://nvd.nist.gov/vuln/detail/CVE-2022-0691
- https://github.com/github/advisory-database/pull/6765
- https://github.com/unshiftio/url-parse/commit/0e3fb542d60ddbf6933f22eb9b1e06e25eaa5b63
- https://huntr.dev/bounties/57124ed5-4b68-4934-8325-2c546257f2e4
- https://lists.debian.org/debian-lts-announce/2023/02/msg00030.html
- https://security.netapp.com/advisory/ntap-20220325-0006
Пакеты
url-parse
>= 0.1.0, < 1.5.9
1.5.9
Связанные уязвимости
Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.9.
Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.9.
Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.9.
Authorization Bypass Through User-Controlled Key in NPM url-parse prio ...