Double Decoding of the Same Data Affecting fast-uri package, versions >=2.4.1 <2.4.5>=3.1.2 <3.1.6>=4.0.0 <4.1.3


Severity

Recommended
0.0
high
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.23% (15th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-JS-FASTURI-19256873
  • published25 Aug 2026
  • disclosed24 Aug 2026
  • creditNotAFlightRisk

Introduced: 24 Aug 2026

NewCVE-2026-75899  (opens in a new tab)
CWE-174  (opens in a new tab)

How to fix?

Upgrade fast-uri to version 2.4.5, 3.1.6, 4.1.3 or higher.

Overview

fast-uri is a Dependency-free RFC 3986 URI toolbox

Affected versions of this package are vulnerable to Double Decoding of the Same Data through hostname normalization in normalize() and resolve() and the authority recomposition logic in index.js and lib/utils.js. An attacker can redirect an application to an unintended host by supplying a URI whose hostname contains nested percent-encoded bytes, such as an encoded loopback or metadata address. The parser decodes the hostname once during normalization and then decodes it again when rebuilding the authority, so %25 sequences can turn into live host delimiters or dot characters during processing. Applications that normalize or resolve untrusted URIs before SSRF checks, redirect validation, or host allowlisting can be steered to internal destinations like localhost or a cloud metadata endpoint.

Workarounds

  • Reject untrusted URIs whose host component contains an encoded percent sign (%25) before passing them to normalize() or resolve(). This prevents nested percent-encoded hostnames from being decoded into live internal destinations such as loopback or metadata addresses.

CVSS Base Scores

version 4.0
version 3.1