All vulnerabilities
CVE-2026-110095GHSA-xhq7-xmqj-769h

fast-uri vulnerable to improper path equivalence in relative reference normalization

fast-uri fast-urinpmLibraries & packages
CVSS
3.7Low
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.23%Chance of exploitation activity in the next 30 days, higher than 13% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in2.4.8Also 3.1.9, 4.2.3GitHub
Published20 Oct 2026Updated 23 Oct 2026CVE List

What fixes it

  • 2.4.8fast-uri, npmGitHubnpm install fast-uri@2.4.8
  • 3.1.9fast-uri, npmGitHubnpm install fast-uri@3.1.9
  • 4.2.3fast-uri, npmGitHubnpm install fast-uri@4.2.3
  • 2.4.8fast-uriCVE List
  • 3.1.9fast-uriCVE List
  • 4.2.3fast-uriCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

Impact

fast-uri's normalize() and serialize() apply RFC 3986 dot-segment removal (remove_dot_segments) to the path of a relative-path reference. RFC 3986 section 5.2.4 defines that algorithm only for the merged target path during resolution, not for the reference itself, so applied to the reference it drops leading .. segments and can turn a document-relative reference into a root-relative one.

For example, normalize('a/../b') returns /b and normalize('../x') returns x, so resolve(base, normalize(ref)) points at a different resource than resolve(base, ref), and equal() treats distinct references as the same.

Applications that normalize attacker-supplied or user-supplied relative references and then resolve them, or use them as cache, deduplication, or authorization keys, can have a reference escape its intended directory and point at a different resource.

Patches

Upgrade to fast-uri 2.4.8, 3.1.9, or 4.2.3.

Workarounds

Do not normalize a relative reference before resolving it. Resolve it against the absolute base first, then normalize the absolute result.

Text from GitHub Advisory Database

Affected versions 12

  • fast-uri, npm< 2.4.8GitHub
  • fast-uri, npm>= 3.0.0, < 3.1.9GitHub
  • fast-uri, npm>= 4.0.0, < 4.2.3GitHub
  • fast-uriaffected: all versions before 2.4.8CVE List
  • fast-uriunaffected: 2.4.8CVE List
  • fast-uriaffected: 3.0.0 before 3.1.9CVE List
  • fast-uriunaffected: 3.1.9CVE List
  • fast-uriaffected: 4.0.0 before 4.2.3CVE List
  • fast-uriunaffected: 4.2.3CVE List
  • fast-uri, npmfrom first release, fixed in 2.4.8OSV
  • fast-uri, npmfrom 3.0.0, fixed in 3.1.9OSV
  • fast-uri, npmfrom 4.0.0, fixed in 4.2.3OSV

References 13