{"id":"CVE-2022-0639","aliases":["CLSA-2026-1776904628","DEBIAN-CVE-2022-0639","DLA-3336-1","DLA-4413-1","EUVD-2022-0924","GHSA-8v38-pw62-9cw2","UBUNTU-CVE-2022-0639","USN-5973-1"],"status":"published","title":"Authorization Bypass Through User-Controlled Key in unshiftio/url-parse","description":"Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.7.","severity":{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.01535,"percentile":0.75025,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-639"],"published":"2022-02-17T00:00:00Z","modified":"2026-11-03T08:01:45Z","fixes":[{"ecosystem":"npm","package":"url-parse","fixed_in":["1.5.7"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"node-url-parse","fixed_in":["1.5.7-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"node-url-parse","fixed_in":["1.5.7-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"node-url-parse","fixed_in":["1.5.7-1"],"sources":["osv"]},{"ecosystem":"Debian:11","package":"node-url-parse","fixed_in":["1.5.3-1+deb11u3"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:16.04:LTS","package":"node-url-parse","fixed_in":["1.0.5-2ubuntu0.1~esm2"],"sources":["osv"]},{"ecosystem":"Ubuntu:18.04:LTS","package":"node-url-parse","fixed_in":["1.2.0-1ubuntu0.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:20.04:LTS","package":"node-url-parse","fixed_in":["1.4.7-3ubuntu0.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"url-parse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.0.0"},{"fixed":"1.5.7"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"url-parse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.4.7-tuxcare.0"},{"fixed":"1.4.7-tuxcare.1"}]}],"versions":["1.4.7"],"bundled":6},{"source":"osv","ecosystem":"Debian:12","package":"node-url-parse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.7-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"node-url-parse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.7-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"node-url-parse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.7-1"}]}]},{"source":"osv","ecosystem":"Debian:10","package":"node-url-parse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.2.0-2+deb10u2"}]}],"versions":["1.2.0-2","1.2.0-2+deb10u1"],"bundled":6},{"source":"osv","ecosystem":"Debian:11","package":"node-url-parse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.5.3-1+deb11u3"}]}],"versions":["1.5.3-1","1.5.3-1+deb11u1","1.5.3-1+deb11u2"]},{"source":"osv","ecosystem":"npm","package":"url-parse","ranges":[{"type":"SEMVER","events":[{"introduced":"1.0.0"},{"fixed":"1.5.7"}]}]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"node-url-parse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.5-2ubuntu0.1~esm2"}]}],"versions":["1.0.5-1","1.0.5-2"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"node-url-parse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.2.0-1ubuntu0.1"}]}],"versions":["1.0.5-2","1.2.0-1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"node-url-parse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.7-3ubuntu0.1"}]}],"versions":["1.4.7-3"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"node-url-parse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.5-2ubuntu0.1~esm2"}]}],"versions":["1.0.5-1","1.0.5-2"],"bundled":8},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"node-url-parse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.2.0-1ubuntu0.1"}]}],"versions":["1.0.5-2","1.2.0-1"],"bundled":8},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"node-url-parse","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.7-3ubuntu0.1"}]}],"versions":["1.4.7-3"],"bundled":8}],"products":[{"vendor":"unshiftio","product":"unshiftio/url-parse"},{"vendor":"url-parse_project","product":"url-parse"}],"references":[{"url":"https://huntr.dev/bounties/83a6bc9a-b542-4a38-82cd-d995a1481155","tags":["x_transferred","Exploit","Issue Tracking","Patch","Third Party Advisory","web","report"]},{"url":"https://github.com/unshiftio/url-parse/commit/ef45a1355375a8244063793a19059b4f62fc8788","tags":["x_transferred","Patch","Third Party Advisory","fix","web","report"]},{"url":"https://lists.debian.org/debian-lts-announce/2023/02/msg00030.html","tags":["mailing-list","x_transferred","article","web"]},{"url":"https://lists.debian.org/debian-lts-announce/2025/12/msg00024.html","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-0639","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-8v38-pw62-9cw2"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/0xxx/CVE-2022-0639.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2022-0639","tags":["advisory"]},{"url":"https://github.com/unshiftio/url-parse","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2022-0639","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-5973-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2022-0639","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2018-3774","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2020-8124","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2021-3664","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2021-27515","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2022-0512","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2022-0686","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2022-0691","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2022-0639","title":"Authorization Bypass Through User-Controlled Key in unshiftio/url-parse","description":"Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.7.","status":"published","published":"2022-02-17T00:00:00Z","modified":"2025-12-16T17:06:51.608Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T14:34:41.69911Z"}],"euvd":[{"id":"EUVD-2022-0924","description":"Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.7.","status":"published","published":"2022-02-17T00:00:00Z","modified":"2025-12-16T17:06:51Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T19:49:05.078672Z"}],"ghsa":[{"id":"GHSA-8v38-pw62-9cw2","title":"url-parse Incorrectly parses URLs that include an '@'","description":"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,\n\n```js\nparse(\\\"http://@/127.0.0.1\\\")\n```\nWill return:\n```yaml\n{\n slashes: true,\n protocol: 'http:',\n hash: '',\n query: '',\n pathname: '/127.0.0.1',\n auth: '',\n host: '',\n port: '',\n hostname: '',\n password: '',\n username: '',\n origin: 'null',\n href: 'http:///127.0.0.1'\n }\n```\nIf 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.","status":"published","published":"2022-02-18T00:00:33Z","modified":"2026-02-20T19:56:18Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T14:39:26.881079Z"}],"nvd":[{"id":"CVE-2022-0639","description":"Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.7.","status":"published","published":"2022-02-17T18:15:08.357Z","modified":"2026-06-17T04:20:59.02Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium","assessor":"primary"},{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T14:07:12.155838Z"}],"osv":[{"id":"CVE-2022-0639","title":"Authorization Bypass Through User-Controlled Key in unshiftio/url-parse","description":"Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.7.","status":"published","published":"2022-02-17T00:00:00Z","modified":"2026-10-28T02:31:03.180212254Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T15:44:22.824781Z"},{"id":"DEBIAN-CVE-2022-0639","description":"Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.7.","status":"published","published":"2022-02-17T18:15:08.357Z","modified":"2026-11-03T08:01:45.069068303Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"updated_at":"2026-11-03T08:24:50.542442Z"},{"id":"GHSA-8v38-pw62-9cw2","title":"url-parse Incorrectly parses URLs that include an '@'","description":"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,\n\n```js\nparse(\\\"http://@/127.0.0.1\\\")\n```\nWill return:\n```yaml\n{\n slashes: true,\n protocol: 'http:',\n hash: '',\n query: '',\n pathname: '/127.0.0.1',\n auth: '',\n host: '',\n port: '',\n hostname: '',\n password: '',\n username: '',\n origin: 'null',\n href: 'http:///127.0.0.1'\n }\n```\nIf 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.","status":"published","published":"2022-02-18T00:00:33Z","modified":"2026-02-22T22:58:34.619205Z","cvss":[{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-639"],"updated_at":"2026-11-02T15:46:42.78452Z"},{"id":"UBUNTU-CVE-2022-0639","description":"Authorization Bypass Through User-Controlled Key in NPM url-parse prior to 1.5.7.","status":"published","published":"2022-02-17T18:15:00Z","modified":"2026-02-05T06:42:28.067408Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"},{"version":"3.0","score":6.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T16:53:51.630172Z"},{"id":"CLSA-2026-1776904628","title":"TuxCare security update for url-parse (6 CVEs)","description":"TuxCare rebuilt url-parse to address 6 CVEs. Fixed in 1.4.7-tuxcare.1.","status":"published","published":"2026-08-04T14:52:27Z","modified":"2026-10-15T09:45:46.409490603Z","updated_at":"2026-11-02T15:43:44.384419Z"},{"id":"DLA-3336-1","title":"node-url-parse - security update","status":"published","published":"2023-02-23T00:00:00Z","modified":"2026-03-09T01:18:04.734945Z","updated_at":"2026-11-02T15:46:11.734021Z"},{"id":"DLA-4413-1","title":"node-url-parse - security update","status":"published","published":"2025-12-16T00:00:00Z","modified":"2025-12-16T15:30:04.508138Z","updated_at":"2026-11-02T15:46:12.7027Z"},{"id":"USN-5973-1","title":"node-url-parse vulnerabilities","description":"It was discovered that url-parse incorrectly handled certain inputs. If a\nuser or an automated system were tricked into opening a specially crafted\ninput file, a remote attacker could possibly use this issue to cause a\ndenial of service, or to perform a server-side request forgery attack or open\nredirect attack. (CVE-2018-3774)\n\nIt was discovered that url-parse incorrectly handled certain inputs. If a\nuser or an automated system were tricked into opening a specially crafted\ninput file, a remote attacker could possibly use this issue to bypass input\nvalidation. This issue was only fixed in Ubuntu 18.04 LTS and\nUbuntu 20.04 LTS. (CVE-2020-8124)\n\nYaniv Nizry discovered that url-parse incorrectly handled certain inputs.\nIf a user or an automated system were tricked into opening a specially crafted\ninput file, a remote attacker could possibly use this issue to cause a\ndenial of service, or to perform a server-side request forgery attack or open\nredirect attack. This issue was only fixed in Ubuntu 18.04 LTS and\nUbuntu 20.04 LTS. (CVE-2021-27515)\n\nIt was discovered that url-parse incorrectly handled certain inputs.\nIf a user or an automated system were tricked into opening a specially crafted\ninput file, a remote attacker could possibly use this issue to cause a\ndenial of service, or to perform a server-side request forgery attack or open\nredirect attack. This issue was only fixed in Ubuntu 18.04 LTS and\nUbuntu 20.04 LTS. (CVE-2021-3664)\n\nIt was discovered that url-parse incorrectly handled certain inputs. If a\nuser or an automated system were tricked into opening a specially crafted\ninput file, a remote attacker could possibly use this issue to bypass\nauthorization. This issue was only fixed in Ubuntu 18.04 LTS and\nUbuntu 20.04 LTS. (CVE-2022-0512, CVE-2022-0639, CVE-2022-0691)\n\nRohan Sharma discovered that url-parse incorrectly handled certain inputs.\nIf a user or an automated system were tricked into opening a specially crafted\ninput file, a remote attacker could possibly use this issue to bypass\nauthorization. This issue was only fixed in Ubuntu 18.04 LTS and\nUbuntu 20.04 LTS. (CVE-2022-0686)\n","status":"published","published":"2023-03-27T14:59:16Z","modified":"2026-06-25T13:31:55.291914058Z","updated_at":"2026-11-02T16:58:16.738762Z"}]}}
