CVE-2026-76172

fast-uri is a URI parser for Node.js. During parsing it runs a legacy decoding pass over the scheme component and never re-escapes the result, and serialization writes the scheme back out verbatim, unlike the host component which is re-escaped. As a result an input whose scheme carries percent-encoded slashes parses as a scheme with no authority, so the parsed host and error are both undefined, yet resolving or normalizing that same input emits a network-path reference whose authority is attacker-chosen and re-parses to that host. An application that allowlists on the parsed host, or treats a reference with no authority as safe to resolve against its base, gets the opposite of what it checked, giving an off-site redirect, server-side request forgery, or address-policy bypass. The legacy decoder also expands non-standard escape forms, widening the issue past upstream filters, and control characters in the scheme can reach the output as raw carriage return and line feed. The affected versions are 2.3.1 up to but not including 2.4.5, 3.0.0 up to but not including 3.1.6, and 4.0.0 up to but not including 4.1.3. The issue is fixed in 2.4.5, 3.1.6, and 4.1.3, which reject a scheme that is not valid after decoding. Users should upgrade to a patched version.
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:openjsf:fast-uri:*:*:*:*:*:node.js:*:*
cpe:2.3:a:openjsf:fast-uri:*:*:*:*:*:node.js:*:*
cpe:2.3:a:openjsf:fast-uri:*:*:*:*:*:node.js:*:*

History

14 Oct 2026, 13:10

Type Values Removed Values Added
Summary
  • (es) fast-uri es un analizador de URI para Node.js. Durante el análisis, ejecuta un paso de decodificación heredado sobre el componente del esquema y nunca vuelve a escapar el resultado, y la serialización escribe el esquema de vuelta textualmente, a diferencia del componente de host que sí se vuelve a escapar. Como resultado, una entrada cuyo esquema contiene barras codificadas por porcentaje se analiza como un esquema sin autoridad, por lo que el host analizado y el error son ambos indefinidos; sin embargo, resolver o normalizar esa misma entrada emite una referencia de ruta de red cuya autoridad es elegida por el atacante y se vuelve a analizar a ese host. Una aplicación que permite en el host analizado, o trata una referencia sin autoridad como segura para resolver contra su base, obtiene lo contrario de lo que verificó, lo que resulta en una redirección fuera del sitio, falsificación de petición del lado del servidor, o una omisión de política de direcciones. El decodificador heredado también expande formas de escape no estándar, ampliando el problema más allá de los filtros ascendentes, y los caracteres de control en el esquema pueden llegar a la salida como retorno de carro y salto de línea sin procesar. Las versiones afectadas son la 2.3.1 hasta, pero sin incluir, la 2.4.5; la 3.0.0 hasta, pero sin incluir, la 3.1.6; y la 4.0.0 hasta, pero sin incluir, la 4.1.3. El problema está solucionado en las versiones 2.4.5, 3.1.6 y 4.1.3, las cuales rechazan un esquema que no es válido después de la decodificación. Los usuarios deben actualizar a una versión parcheada.

Information

Published : 2026-08-24 11:16

Updated : 2026-10-14 13:10


NVD link : CVE-2026-76172

Mitre link : CVE-2026-76172

CVE.ORG link : CVE-2026-76172


JSON object : View

Products Affected

openjsf

  • fast-uri
CWE
CWE-177

Improper Handling of URL Encoding (Hex Encoding)