---
id: CVE-2026-75931
title: fast-uri is a URI parser for Node.js
summary: >-
  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 …
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N'
cwe:
  - CWE-436
  - CWE-444
vendor: openjsf
product: fast-uri
affected:
  - 'fast-uri >= 2.4.2, < 2.4.5'
  - 'fast-uri >= 3.1.3, < 3.1.6'
  - 'fast-uri >= 4.0.1, < 4.1.3'
patched:
  - fast-uri 4.1.3
published: '2026-08-24'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T13:10:00.187'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-75931'
references:
  - url: 'https://cna.openjsf.org/security-advisories.html'
    label: ce714d77-add3-4f53-aff5-83d477b104bb
  - url: >-
      https://github.com/fastify/fast-uri/security/advisories/GHSA-5jgf-p345-68v8
    label: ce714d77-add3-4f53-aff5-83d477b104bb
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-75931.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-75931'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2521777'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-75931'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-75931'
  - url: 'https://access.redhat.com/errata/RHSA-2026:74503'
  - url: 'https://access.redhat.com/errata/RHSA-2026:74609'
  - url: 'https://access.redhat.com/errata/RHSA-2026:70593'
  - url: 'https://access.redhat.com/errata/RHSA-2026:67542'
  - url: 'https://access.redhat.com/errata/RHSA-2026:72880'
  - url: 'https://access.redhat.com/errata/RHSA-2026:67543'
  - url: 'https://access.redhat.com/errata/RHSA-2026:65118'
  - url: 'https://access.redhat.com/errata/RHSA-2026:65155'
  - url: 'https://access.redhat.com/errata/RHSA-2026:71179'
  - url: 'https://access.redhat.com/errata/RHSA-2026:67279'
  - url: 'https://access.redhat.com/errata/RHSA-2026:79357'
  - url: 'https://access.redhat.com/errata/RHSA-2026:76788'
  - url: 'https://access.redhat.com/errata/RHSA-2026:79088'
  - url: 'https://access.redhat.com/errata/RHSA-2026:69248'
  - url: 'https://access.redhat.com/errata/RHSA-2026:61783'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68044'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68253'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68006'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68254'
  - url: 'https://access.redhat.com/errata/RHSA-2026:60866'
  - url: 'https://access.redhat.com/errata/RHSA-2026:60855'
  - url: 'https://access.redhat.com/errata/RHSA-2026:60856'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68681'
  - url: 'https://access.redhat.com/errata/RHSA-2026:74381'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68547'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68553'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68754'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68762'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68756'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68766'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68765'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68748'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68750'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68747'
  - url: >-
      https://github.com/fastify/fast-uri/commit/0256bc8d1f28b5d0ac657faf67e2411a189dfcb5
  - url: >-
      https://github.com/fastify/fast-uri/commit/444ecdad447db2cc23c4d422acc6f0daa6fa8eef
  - url: >-
      https://github.com/fastify/fast-uri/commit/4e4ebd8b245f6ca16e448203559eea3e545453a3
  - url: 'https://github.com/fastify/fast-uri/releases/tag/v2.4.5'
  - url: 'https://github.com/fastify/fast-uri/releases/tag/v3.1.6'
  - url: 'https://github.com/fastify/fast-uri/releases/tag/v4.1.3'
  - url: 'https://github.com/advisories/GHSA-5jgf-p345-68v8'
  - url: 'https://access.redhat.com/errata/RHSA-2026:82151'
tags:
  - nvd
  - csaf
  - vex
  - red-hat
  - ghsa
  - npm
epss: 0.00398
epssPercentile: 0.33848
aliases:
  - GHSA-5jgf-p345-68v8
ecosystem: npm
ingestedAt: '2026-09-02T15:46:29.185Z'
---

## Overview

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.

## Affected

- `fast-uri >= 2.4.2, < 2.4.5`
- `fast-uri >= 3.1.3, < 3.1.6`
- `fast-uri >= 4.0.1, < 4.1.3`

## Remediation

Upgrade past the affected range:

- `fast-uri 4.1.3`

## Package advisory (CVE-2026-75931)

Affected packages:

- `fast-uri >= 2.4.2, < 2.4.5`
- `fast-uri >= 3.1.3, < 3.1.6`
- `fast-uri >= 4.0.1, < 4.1.3`

Patched in:

- `fast-uri 2.4.5`
- `fast-uri 3.1.6`
- `fast-uri 4.1.3`

Source: https://github.com/advisories/GHSA-5jgf-p345-68v8

## Vendor advisories

- **RHSA-2026:74503** · Red Hat · fixed in: Red Hat Satellite 6.19 for RHEL 9 · released 2026-10-01 · [advisory](https://access.redhat.com/errata/RHSA-2026:74503)
- **RHSA-2026:74609** · Red Hat · fixed in: Cluster Observability Operator 1.5.3 · released 2026-10-01 · [advisory](https://access.redhat.com/errata/RHSA-2026:74609)
- **RHSA-2026:70593** · Red Hat · fixed in: Network Observability (NETOBSERV) 1.12.3 · released 2026-09-23 · [advisory](https://access.redhat.com/errata/RHSA-2026:70593)
- **RHSA-2026:67542** · Red Hat · fixed in: Red Hat Advanced Cluster Management for Kubernetes 2.16 · released 2026-09-15 · [advisory](https://access.redhat.com/errata/RHSA-2026:67542)
- **RHSA-2026:72880** · Red Hat · fixed in: Red Hat Advanced Cluster Management for Kubernetes 2.16 · released 2026-09-28 · [advisory](https://access.redhat.com/errata/RHSA-2026:72880)
- **RHSA-2026:67543** · Red Hat · fixed in: Red Hat Advanced Cluster Management for Kubernetes 2.17 · released 2026-09-15 · [advisory](https://access.redhat.com/errata/RHSA-2026:67543)
- **RHSA-2026:65118** · Red Hat · fixed in: Red Hat Ansible Automation Platform 2.1 · released 2026-09-08 · [advisory](https://access.redhat.com/errata/RHSA-2026:65118)
- **RHSA-2026:65155** · Red Hat · fixed in: Red Hat Ansible Automation Platform 2.2 · released 2026-09-08 · [advisory](https://access.redhat.com/errata/RHSA-2026:65155)
- **RHSA-2026:71179** · Red Hat · fixed in: Red Hat Ansible Automation Platform 2.6 · released 2026-09-23 · [advisory](https://access.redhat.com/errata/RHSA-2026:71179)
- **RHSA-2026:67279** · Red Hat · fixed in: Red Hat Ansible Automation Platform 2.7 · released 2026-09-14 · [advisory](https://access.redhat.com/errata/RHSA-2026:67279)
- **RHSA-2026:79357** · Red Hat · fixed in: Red Hat Cost Management On-Premise 1 · released 2026-10-08 · [advisory](https://access.redhat.com/errata/RHSA-2026:79357)
- **Red Hat VEX** · Important · affected: OpenShift Lightspeed, OpenShift Pipelines, OpenShift Serverless, Red Hat Ansible Automation Platform 2, Red Hat Build of Podman Desktop, Red Hat Enterprise Linux 10, … · no fix planned: Red Hat Ansible Automation Platform 2, Red Hat Enterprise Linux AI (RHEL AI) 3, Secrets Management Console for Red Hat OpenShift, Red Hat Enterprise Linux 10, … · updated 2026-10-19 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-75931.json)
- **RHSA-2026:76788** · Red Hat · fixed in: Red Hat Developer Hub 1.10 · released 2026-10-06 · [advisory](https://access.redhat.com/errata/RHSA-2026:76788)
- **RHSA-2026:69248** · Red Hat · fixed in: Red Hat Developer Hub 1.9 · released 2026-09-21 · [advisory](https://access.redhat.com/errata/RHSA-2026:69248)
- **RHSA-2026:61783** · Red Hat · fixed in: Red Hat Discovery 2 · released 2026-08-31 · [advisory](https://access.redhat.com/errata/RHSA-2026:61783)
- **RHSA-2026:68044** · Red Hat · fixed in: Red Hat Edge Manager 1.1 · released 2026-09-16 · [advisory](https://access.redhat.com/errata/RHSA-2026:68044)
- **RHSA-2026:68253** · Red Hat · fixed in: Red Hat Edge Manager 1.1 · released 2026-09-16 · [advisory](https://access.redhat.com/errata/RHSA-2026:68253)
- **RHSA-2026:68006** · Red Hat · fixed in: Red Hat Edge Manager 1.2 · released 2026-09-16 · [advisory](https://access.redhat.com/errata/RHSA-2026:68006)
- **RHSA-2026:68254** · Red Hat · fixed in: Red Hat Edge Manager 1.2 · released 2026-09-16 · [advisory](https://access.redhat.com/errata/RHSA-2026:68254)
- **RHSA-2026:60866** · Red Hat · fixed in: Red Hat Hardened Images · released 2026-08-29 · [advisory](https://access.redhat.com/errata/RHSA-2026:60866)
- **RHSA-2026:60855** · Red Hat · fixed in: Red Hat Hardened Images · released 2026-08-29 · [advisory](https://access.redhat.com/errata/RHSA-2026:60855)
- **RHSA-2026:60856** · Red Hat · fixed in: Red Hat Hardened Images · released 2026-08-29 · [advisory](https://access.redhat.com/errata/RHSA-2026:60856)
- **RHSA-2026:82151** · Red Hat · fixed in: Red Hat Ansible Automation Platform 2.2 · released 2026-10-13 · [advisory](https://access.redhat.com/errata/RHSA-2026:82151)
