CVE-2022-0639: url-parse Incorrectly parses URLs that include an '@'
(updated )
A specially crafted URL with an ‘@’ sign but empty user info and no hostname, when parsed with url-parse, url-parse will return the incorrect href. In particular,
parse(\"http://@/127.0.0.1\")
Will return:
{
slashes: true,
protocol: 'http:',
hash: '',
query: '',
pathname: '/127.0.0.1',
auth: '',
host: '',
port: '',
hostname: '',
password: '',
username: '',
origin: 'null',
href: 'http:///127.0.0.1'
}
If the ‘hostname’ or ‘origin’ attributes of the output from url-parse are used in security decisions and the final ‘href’ attribute of the output is then used to make a request, the decision may be incorrect.
References
- github.com/advisories/GHSA-8v38-pw62-9cw2
- github.com/unshiftio/url-parse
- github.com/unshiftio/url-parse/commit/ef45a1355375a8244063793a19059b4f62fc8788
- huntr.dev/bounties/83a6bc9a-b542-4a38-82cd-d995a1481155
- lists.debian.org/debian-lts-announce/2023/02/msg00030.html
- lists.debian.org/debian-lts-announce/2025/12/msg00024.html
- nvd.nist.gov/vuln/detail/CVE-2022-0639
Code Behaviors & Features
Detect and mitigate CVE-2022-0639 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 →