CVE-2020-26291
JavaScript vulnerability analysis and mitigation

Overview

CVE-2020-26291 affects URI.js, a JavaScript URL mutation library (npm package urijs), in versions before 1.19.4. The vulnerability allows hostname spoofing through the use of backslash characters in URLs. The issue was discovered and disclosed in December 2020, affecting all versions of URI.js prior to version 1.19.4 (GitHub Advisory).

Technical details

The vulnerability exists in the URL parsing functionality where the hostname can be spoofed by using a backslash () character followed by an at (@) character. For example, the URL 'https://expected-example.com\@observed-example.com' would incorrectly return 'observed-example.com' as the hostname in affected versions, while it should return 'expected-example.com'. The vulnerability has a CVSS v3.1 base score of 6.5 (Medium) with the vector string CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N (NVD).

Impact

The vulnerability can lead to security decision bypasses when the hostname is used for security-related decisions. Potential impacts include allow/block list bypasses, Server-Side Request Forgery (SSRF) attacks, open redirects, or other undesired behavior depending on how the library is used and the attacker's intent (GitHub Advisory).

Exploitability

The vulnerability can be exploited by crafting specific URLs that use backslash characters followed by the @ symbol to manipulate the parsed hostname. The exploitation requires the ability to supply URLs to applications using the affected versions of URI.js (GitHub Advisory).

Mitigation and workarounds

The vulnerability was patched in URI.js version 1.19.4, which correctly handles backslash characters in URLs. While version 1.19.3 included a partial fix, it remained vulnerable to certain payload variants. Users should upgrade to version 1.19.4 or later to fully mitigate the vulnerability. The patched version matches the behavior of other parsers that implement the WHATWG URL specification, including web browsers and Node's built-in URL class (GitHub Advisory, URI.js Release).

Additional resources


SourceThis report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-63376HIGH8.2
  • JavaScript logoJavaScript
  • trigger-dev
NoYesSep 03, 2026
GHSA-7q9c-hpx7-9cwmHIGH7.5
  • JavaScript logoJavaScript
  • @typespec/spector
NoYesSep 04, 2026
CVE-2026-77465HIGH7.5
  • JavaScript logoJavaScript
  • cockpit-image-builder.src
NoYesSep 03, 2026
CVE-2026-71429MEDIUM6.2
  • JavaScript logoJavaScript
  • stream-json
NoYesSep 03, 2026
GHSA-6hxq-p678-4hr2LOW2
  • JavaScript logoJavaScript
  • @simplewebauthn/server
NoYesSep 04, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management