Skip to content
OpenAdvisories
Medium · 4.8 CVE-2026-86472 EUVD-2026-78395GHSA-hrr3-gc8f-f4qj

fast-uri vulnerable to inconsistent host case normalization via percent-encoded octets

Published Sep 15, 2026 · Updated Sep 15, 2026 · Assigned by openjs

Description

fast-uri is a dependency-free RFC 3986 URI parser for Node.js, used by Fastify and ajv. In versions before 2.4.7, from 3.0.0 through 3.1.7, and from 4.0.0 through 4.1.4, fast-uri folds the host to lowercase before it percent-decodes the host, so a percent-encoded uppercase octet such as %41 decodes to a literal A that is never folded. For a scheme-relative reference such as //host there is no scheme, so the host canonicalization that would normally repair this does not run, and parse, normalize, and equal then disagree on the same host. An application that makes a case-sensitive host decision on fast-uri output, for example a host allowlist or denylist that compares the parsed host or uses equal, can be steered past the check with a percent-encoded uppercase octet, and because hostnames are case-insensitive in DNS and HTTP the evading spelling still reaches the host the check meant to gate. The issue is fixed in fast-uri 2.4.7, 3.1.8, and 4.1.5, and users should upgrade to one of those versions or later. As a workaround, compare hosts case-insensitively by lowercasing the parsed host before any allowlist or denylist decision.

Affected products

VendorProductAffectedFixed
fast-uri fast-uri < 2.4.7, 3.0.0 – < 3.1.8, 4.0.0 – < 4.1.5 2.4.7

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 node-ajv 8.20.0~ds+~cs7.1.6-1 —
Debian 13 node-ajv No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 node-ajv No fix yet —
Ubuntu 26.04 LTS node-ajv No fix yet —
Ubuntu 24.04 LTS node-ajv No fix yet —
Ubuntu 22.04 LTS node-ajv No fix yet —
Ubuntu 20.04 LTS node-ajv No fix yet —
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 18.04 LTS node-ajv No fix yet —
ReleasePackageFixed inAdvisory
Red Hat Hardened Images 1 grafana12.4 12.4.10-0.4.hum1 RHSA-2026:68143
Red Hat Hardened Images 1 grafana13.1 13.1.6-0.3.hum1 RHSA-2026:71040
Red Hat Hardened Images 1 grafana13.2 13.2.1-0.7.hum1 RHSA-2026:71906
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed agama-web-ui 25+475.275dd4727-56.1 openSUSE-SU-2026:12424-1

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling jupyter-base-notebook 7.6.3-r2 —
Wolfi rolling opensearch-dashboards-3-dashboards-observability 3.9.0-r2 —
Wolfi rolling prism 5.16.0-r14 —
Wolfi rolling vitess-24 24.0.3-r10 —
Wolfi rolling yaml-language-server 1.24.0-r7 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm fast-uri < 2.4.7 2.4.7 GHSA-hrr3-gc8f-f4qj
npm fast-uri >= 3.0.0, < 3.1.8 3.1.8 GHSA-hrr3-gc8f-f4qj
npm fast-uri >= 4.0.0, < 4.1.5 4.1.5 GHSA-hrr3-gc8f-f4qj

Advisories 4

References