CVE-2020-26291
Hostname spoofing in URI.js
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
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.
CVSS Scores
SSVC
- Decision:-
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
References (6)
URL | Tag | Source |
---|---|---|
https://github.com/medialize/URI.js/releases/tag/v1.19.4 | Release Notes | |
https://github.com/medialize/URI.js/security/advisories/GHSA-3329-pjwv-fjpg | Third Party Advisory | |
https://www.npmjs.com/package/urijs | Third Party Advisory |
URL | Date | SRC |
---|
URL | Date | SRC |
---|---|---|
https://github.com/medialize/URI.js/commit/b02bf037c99ac9316b77ff8bfd840e90becf1155 | 2022-11-29 |
URL | Date | SRC |
---|---|---|
https://access.redhat.com/security/cve/CVE-2020-26291 | 2021-10-19 | |
https://bugzilla.redhat.com/show_bug.cgi?id=1915257 | 2021-10-19 |
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
|