{"id":"CVE-2026-75931","sourceIdentifier":"ce714d77-add3-4f53-aff5-83d477b104bb","published":"2026-08-24T10:16:40.113","lastModified":"2026-10-14T13:10:00.187","vulnStatus":"Analyzed","cveTags":[],"descriptions":[{"lang":"en","value":"fast-uri is a URI parser for Node.js. It canonicalizes a host to its ASCII form only when the input carries an explicit scheme, so a scheme-relative reference such as a host preceded by two slashes is returned with its host verbatim and no error set. As a result fast-uri's own entry points disagree with each other: parse, resolve, normalize, and equal can yield different hosts for the same input depending only on whether a scheme is written out, and equal can return opposite verdicts for the same pair of hosts. An application that extracts a host with fast-uri to check it against a policy list and then resolves the same reference can make its decision on one host while the destination is another, enabling host confusion and policy bypass. The affected versions are 2.4.2 up to but not including 2.4.5, 3.1.3 up to but not including 3.1.6, and 4.0.1 up to but not including 4.1.3. The issue is fixed in 2.4.5, 3.1.6, and 4.1.3, which canonicalize the host consistently across the resolve path. Users should upgrade to a patched version."},{"lang":"es","value":"fast-uri es un analizador de URI para Node.js. Canoniza un host a su forma ASCII solo cuyo la entrada lleva un esquema explícito, por lo que una referencia relativa al esquema, como un host precedido por dos barras, se devuelve con su host literalmente y sin error establecido. Como resultado, los propios puntos de entrada de fast-uri discrepan entre sí: parse, resolve, normalize y equal pueden producir hosts diferentes para la misma entrada dependiendo únicamente de si un esquema está escrito, y equal puede devolver veredictos opuestos para el mismo par de hosts. Una aplicación que extrae un host con fast-uri para verificarlo contra una lista de políticas y luego resuelve la misma referencia puede tomar su decisión sobre un host mientras el destino es otro, lo que permite la confusión de hosts y la elusión de políticas. Las versiones afectadas son 2.4.2 hasta, pero sin incluir, 2.4.5; 3.1.3 hasta, pero sin incluir, 3.1.6; y 4.0.1 hasta, pero sin incluir, 4.1.3. El problema está solucionado en 2.4.5, 3.1.6 y 4.1.3, que canonizan el host de manera consistente a lo largo de la ruta de resolución. Los usuarios deben actualizar a una versión parcheada."}],"affected":[{"source":"ce714d77-add3-4f53-aff5-83d477b104bb","affectedData":[{"vendor":"fast-uri","product":"fast-uri","defaultStatus":"unaffected","packageURL":"pkg:npm/fast-uri","versions":[{"version":"2.4.2","lessThan":"2.4.5","versionType":"semver","status":"affected"},{"version":"2.4.5","versionType":"semver","status":"unaffected"},{"version":"3.1.3","lessThan":"3.1.6","versionType":"semver","status":"affected"},{"version":"3.1.6","versionType":"semver","status":"unaffected"},{"version":"4.0.1","lessThan":"4.1.3","versionType":"semver","status":"affected"},{"version":"4.1.3","versionType":"semver","status":"unaffected"}]}]}],"metrics":{"cvssMetricV31":[{"source":"ce714d77-add3-4f53-aff5-83d477b104bb","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"HIGH","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":3.6}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-08-24T16:28:35.705177Z","id":"CVE-2026-75931","options":[{"exploitation":"none"},{"automatable":"yes"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"weaknesses":[{"source":"ce714d77-add3-4f53-aff5-83d477b104bb","type":"Secondary","description":[{"lang":"en","value":"CWE-436"}]}],"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:openjsf:fast-uri:*:*:*:*:*:node.js:*:*","versionStartIncluding":"2.4.2","versionEndExcluding":"2.4.5","matchCriteriaId":"F149CDDB-E136-4897-AF47-E52B987D489A"},{"vulnerable":true,"criteria":"cpe:2.3:a:openjsf:fast-uri:*:*:*:*:*:node.js:*:*","versionStartIncluding":"3.1.3","versionEndExcluding":"3.1.6","matchCriteriaId":"409743BF-17BF-49A4-906A-C60C3F4FBCE2"},{"vulnerable":true,"criteria":"cpe:2.3:a:openjsf:fast-uri:*:*:*:*:*:node.js:*:*","versionStartIncluding":"4.0.1","versionEndExcluding":"4.1.3","matchCriteriaId":"D52E210D-CFAD-4A63-AA90-E551EDE9DBC2"}]}]}],"references":[{"url":"https://cna.openjsf.org/security-advisories.html","source":"ce714d77-add3-4f53-aff5-83d477b104bb","tags":["Vendor Advisory"]},{"url":"https://github.com/fastify/fast-uri/security/advisories/GHSA-5jgf-p345-68v8","source":"ce714d77-add3-4f53-aff5-83d477b104bb","tags":["Vendor Advisory","Mitigation"]}]}