CVE-2020-26291: Hostname spoofing in URI.js

Published Dec 30, 2020
·
Updated

A flaw was found in urijs. The hostname can be spoofed by using a backslash (\) character followed by an at (@) character. If the hostname is used in security decisions, the decision may be incorrect. Depending on library usage and attacker intent, impacts may include allow/block list bypasses, SSRF attacks, open redirects, or other undesired behavior.

Other sources

In URI.js before version 1.19.4, the hostname can be spoofed by using a backslash (\) character followed by an at (@) character. If the hostname is used in security decisions, the decision may be incorrect. Depending on library usage and attacker intent, impacts may include allow/block list bypasses, SSRF attacks, open redirects, or other undesired behavior. For example the URL https://expected-example.com\@observed-example.com will incorrectly return observed-example.com if using an affected version. Patched versions correctly return expected-example.com. Patched versions match the behavior of other parsers which implement the WHATWG URL specification, including web browsers and Node's built-in URL class. Version 1.19.4 is patched against all known payload variants. Version 1.19.3 has a partial patch but is still vulnerable to a payload variant.]

External References:

https://github.com/medialize/URI.js/commit/b02bf037c99ac9316b77ff8bfd840e90becf1155 https://github.com/medialize/URI.js/releases/tag/v1.19.4 https://github.com/medialize/URI.js/security/advisories/GHSA-3329-pjwv-fjpg https://www.npmjs.com/package/urijs

Red Hat

URI.js is a javascript URL mutation library (npm package urijs). In URI.js before version 1.19.4, the hostname can be spoofed by using a backslash (\) character followed by an at (@) character. If the hostname is used in security decisions, the decision may be incorrect. Depending on library usage and attacker intent, impacts may include allow/block list bypasses, SSRF attacks, open redirects, or other undesired behavior. For example the URL https://expected-example.com\@observed-example.com will incorrectly return observed-example.com if using an affected version. Patched versions correctly return expected-example.com. Patched versions match the behavior of other parsers which implement the WHATWG URL specification, including web browsers and Node's built-in URL class. Version 1.19.4 is patched against all known payload variants. Version 1.19.3 has a partial patch but is still vulnerable to a payload variant.]

Affected Software

2 affected componentsFixes available
redhat/urijs<1.19.4
1.19.4
Uri.js Project Uri.js<1.19.4

Event History

Dec 30, 2020
CVE Published
via MITRE·11:40 PM
Data Sourced
via MITRE·11:40 PM
DescriptionSeverityWeakness
Dec 31, 2020
Data Sourced
12:00 AM
RemedyDescriptionSeverityWeaknessAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is the vulnerability ID for this flaw in urijs?

The vulnerability ID for this flaw in urijs is CVE-2020-26291.

2

What is the severity of CVE-2020-26291?

The severity of CVE-2020-26291 is medium with a CVSS score of 6.5.

3

How does the vulnerability in urijs allow hostname spoofing?

The vulnerability in urijs allows hostname spoofing by using a backslash (`\`) character followed by an at (`@`) character.

4

What is the affected software version of urijs?

The affected software version of urijs is version 1.19.4 and prior.

5

How can I fix the vulnerability in urijs?

To fix the vulnerability in urijs, update to version 1.19.4.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203