// For flags

CVE-2020-26291

Hostname spoofing in URI.js

Severity Score

6.5
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

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.]

URI.js es una biblioteca de mutación de URL de JavaScript (paquete npm urijs). En URI.js versiones anteriores a 1.19.4, el nombre de host puede ser falsificado usando un carácter barra invertida ("\") seguido de un carácter arroba ("@"). Si el nombre de host es usado en decisiones de seguridad, la decisión puede ser incorrecta. Dependiendo del uso de la biblioteca y la intención del atacante, los impactos pueden incluir omisiones de lista de permisos y bloqueos, ataques SSRF, redireccionamientos abiertos u otros comportamientos no deseados. Por ejemplo, la URL "https://expected-example.com\@observed-example.com" devolverá incorrectamente "observed-example.com" si se usa una versión afectada. Las versiones parcheadas devuelven correctamente "expected-example.com". Las versiones parcheadas coinciden con el comportamiento de otros analizadores que implementan la especificación de URL WHATWG, incluyendo los navegadores web y la clase URL incorporada de Node. La versión 1.19.4 está parcheada contra todas las variantes de carga útil conocidas. La versión 1.19.3 presenta una ruta parcial pero sigue siendo vulnerable a una variante de carga útil.

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.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None
Attack Vector
Network
Attack Complexity
Low
Authentication
Single
Confidentiality
None
Integrity
Partial
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2020-10-01 CVE Reserved
  • 2020-12-30 CVE Published
  • 2023-03-08 EPSS Updated
  • 2024-08-04 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-20: Improper Input Validation
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Uri.js Project
Search vendor "Uri.js Project"
Uri.js
Search vendor "Uri.js Project" for product "Uri.js"
< 1.19.4
Search vendor "Uri.js Project" for product "Uri.js" and version " < 1.19.4"
-
Affected