VDB
KO
HIGH 7.5

GHSA-v39h-62p7-jpjc

fast-uri vulnerable to host confusion via percent-encoded authority delimiters

Quick fix

GHSA-v39h-62p7-jpjc — fast-uri: upgrade to the fixed version with the command below.

npm install fast-uri@3.1.2

Details

### Impact

`fast-uri` v3.1.1 and earlier decodes percent-encoded authority delimiters (`%40` as `@`, `%3A` as `:`) inside the host component and serializes them back as raw characters. This changes the URI structure, turning a hostname into userinfo plus a different host.

For example, `http://trusted.com%40evil.com/` normalizes to `http://trusted.com@evil.com/`, which reparses as host `evil.com` with userinfo `trusted.com`.

Applications that normalize untrusted URLs before host allowlist checks, redirect validation, or outbound request routing can be steered to a different authority than the original URL appeared to contain.

### Patches

Upgrade to `fast-uri` >= 3.1.2, or if you are in the v2.x release line, v2.4.1

### Workarounds

None. Upgrade to the patched version.

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / fast-uri
Introduced in: 3.0.0 Fixed in: 3.1.2
Fix npm install fast-uri@3.1.2
npm / fast-uri
Introduced in: 0 Fixed in: 2.4.1
Fix npm install fast-uri@2.4.1

References