Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. url-parse
  4. ›
  5. CVE-2022-0691

CVE-2022-0691: url-parse incorrectly parses hostname / protocol due to unstripped leading control characters.

February 22, 2022 (updated February 3, 2026)

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:

const parse = require('url-parse')
const express = require('express')
const app = express()
const port = 3000

url = parse(\"\\bjavascript:alert(1)\")

console.log(url)

app.get('/', (req, res) => {
if (url.protocol !== \"javascript:\") {res.send(\"<a href=\\'\" + url.href + \"\\'>CLICK ME!</a>\")}
})

app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})

References

  • github.com/advisories/GHSA-jf5r-8hm2-f872
  • github.com/github/advisory-database/pull/6765
  • github.com/unshiftio/url-parse
  • github.com/unshiftio/url-parse/commit/0e3fb542d60ddbf6933f22eb9b1e06e25eaa5b63
  • huntr.dev/bounties/57124ed5-4b68-4934-8325-2c546257f2e4
  • lists.debian.org/debian-lts-announce/2023/02/msg00030.html
  • nvd.nist.gov/vuln/detail/CVE-2022-0691
  • security.netapp.com/advisory/ntap-20220325-0006

Code Behaviors & Features

Detect and mitigate CVE-2022-0691 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions starting from 0.1.0 before 1.5.9

Fixed versions

  • 1.5.9

Solution

Upgrade to version 1.5.9 or above.

Impact 9.8 CRITICAL

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Learn more about CVSS

Weakness

  • CWE-639: Authorization Bypass Through User-Controlled Key

Source file

npm/url-parse/CVE-2022-0691.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:16:21 +0000.