VDB
KO
HIGH 7.5

GHSA-q3j6-qgpj-74h6

fast-uri vulnerable to path traversal via percent-encoded dot segments

Quick fix

GHSA-q3j6-qgpj-74h6 — fast-uri: upgrade to the fixed version with the command below.

npm install fast-uri@3.1.1

Details

### Impact

`fast-uri` v3.1.0 and earlier decodes percent-encoded path separators (`%2F`) and dot segments (`%2E`) before applying dot-segment removal in `normalize()` and `equal()`. This makes encoded path data behave like real `/` and `..`, so distinct URIs collapse onto the same normalized path.

For example, `http://example.com/public/%2e%2e/admin` normalizes to `http://example.com/admin`, and `equal()` considers them the same URI.

Applications that normalize or compare attacker-controlled URLs to enforce path-based policy can be bypassed. A path that looks confined under an allowed prefix can normalize to a different location.

### Patches

Upgrade to `fast-uri` >= 3.1.1, 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.1
Fix npm install fast-uri@3.1.1
npm / fast-uri
Introduced in: 0 Fixed in: 2.4.1
Fix npm install fast-uri@2.4.1

References