Skip to main content

fast-uri CVE-2026-16221

| EUVDEUVD-2026-45551 HIGH
Interpretation Conflict (CWE-436)
2026-07-19 openjs GHSA-v2hh-gcrm-f6hx
7.5
CVSS 3.1 · Vendor: openjs
Share

Severity by source

Vendor (openjs) PRIMARY
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
vuln.today AI
5.9 MEDIUM

AC:H because exploitation needs the specific fast-uri-check-then-Node-fetch pattern; PR:N/UI:N as attacker-supplied URLs suffice; C:H reflects SSRF to metadata/internal resources over I:N.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
SUSE
8.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
Red Hat
7.5 HIGH
qualitative

Primary rating from Vendor (openjs).

CVSS VectorVendor: openjs

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Lifecycle Timeline

3
Patch available
Jul 19, 2026 - 16:19 EUVD
Analysis Generated
Jul 19, 2026 - 15:01 vuln.today
CVE Published
Jul 19, 2026 - 14:08 cve.org
HIGH 7.5

DescriptionCVE.org

Impact: fast-uri versions from 2.3.1 through 4.1.0 (including the 3.x line up to 3.1.3 and the 2.x line up to 2.4.2) do not treat a literal backslash character (U+005C) as an authority delimiter. Node's native WHATWG URL parser, used by fetch, undici, and Node's http and https clients, normalizes the backslash to a forward slash for special schemes such as http, https, ws, wss, ftp, and file. As a result, the two parsers extract different hosts from the same input string. Applications that use fast-uri to enforce host-based policy such as allowlists, denylists, loopback or SSRF filtering, redirect validation, or outbound proxy routing before passing the same URL into Node's URL or fetch consumers can be steered to an unintended destination, including cloud metadata endpoints, loopback, or internal hosts.

Patches: upgrade to fast-uri 4.1.1, 3.1.4, or 2.4.3.

Workarounds: none.

AnalysisAI

Host-based policy bypass in the fast-uri Node.js URI parser (versions 2.3.1 through 4.1.0, spanning the 2.x line up to 2.4.2 and the 3.x line up to 3.1.3) allows remote attackers to smuggle a different host past allowlist, denylist, SSRF, loopback, and redirect-validation checks by using a literal backslash. Because fast-uri does not treat U+005C as an authority delimiter while Node's native WHATWG URL parser (used by fetch, undici, and the http/https clients) normalizes backslash to forward slash for special schemes, the two parsers disagree on the host, enabling requests to be steered to cloud metadata, loopback, or internal endpoints. There is no public exploit identified at time of analysis, but the flaw is trivially triggerable in affected deployments and openjsf has published a fix.

Technical ContextAI

The affected component is fast-uri, a high-performance RFC 3986 URI parser widely used in the Fastify ecosystem (notably as ajv's URI resolver) as a drop-in replacement for uri-js. The root cause is classified as CWE-436 (Interpretation Conflict / parser differential): fast-uri follows strict RFC 3986 semantics where a backslash is a normal path character and not part of the authority, whereas Node's built-in WHATWG URL parser - the one backing fetch, undici, and the native http/https clients - applies WHATWG special-scheme normalization that rewrites backslashes to forward slashes for http, https, ws, wss, ftp, and file URLs. When one library extracts the host for a security decision and a different library extracts the host for the actual outbound request, the same input string resolves to two different destinations. The single affected CPE is cpe:2.3:a:fast-uri:fast-uri:*:*:*:*:*:*:*:*.

RemediationAI

Vendor-released patch: upgrade fast-uri to 4.1.1 (4.x line), 3.1.4 (3.x line), or 2.4.3 (2.x line) depending on the major version you run; these releases make fast-uri treat a literal backslash consistently so its host extraction aligns with Node's WHATWG parser. The vendor states there are no workarounds, so patching is the required fix. As interim compensating controls until you can upgrade, reject or normalize any URL whose authority or path contains a backslash before it reaches your policy check (fail closed on U+005C), and standardize on a single parser end-to-end - use Node's native URL/WHATWG parser for BOTH the security decision and the outbound request so the two cannot disagree; the trade-off is that pre-normalizing input may break rare legitimate URLs containing encoded backslashes. Where feasible, enforce SSRF protection at the network layer as defense in depth by blocking outbound access to 169.254.169.254 and other metadata/loopback/internal ranges from application egress. Track fixes via GHSA-v2hh-gcrm-f6hx (https://github.com/fastify/fast-uri/security/advisories/GHSA-v2hh-gcrm-f6hx).

CVE-2026-13676 HIGH POC
7.5 Jun 29

Host-based security policy bypass in the fast-uri Node.js URI parser (versions 2.3.1 through 3.1.2 and 4.0.0) lets remot

CVE-2026-18446 HIGH POC
7.5 Jul 31

Security filter bypass in fast-uri (before versions 4.1.2, 3.1.5, and 2.4.4) enables unauthenticated remote attackers to

CVE-2026-6321 HIGH POC
7.5 May 04

Path normalization bypass in fast-uri 3.1.0 and earlier allows remote attackers to circumvent path-based access controls

CVE-2026-6322 HIGH POC
7.5 May 05

Authority confusion in fast-uri JavaScript library allows remote attackers to bypass URL validation security controls. T

CVE-2026-75931 HIGH POC
7.5 Aug 24

Host confusion in fast-uri, a Node.js URI parser in the Fastify ecosystem, allows policy bypass by exploiting inconsiste

CVE-2026-75975 HIGH POC
7.5 Aug 24

Server-side request forgery and address-policy bypass in fast-uri, the Node.js URI parser used widely in the fastify eco

CVE-2026-75899 HIGH POC
7.5 Aug 24

Double-decoding of percent-encoded hostnames in fast-uri (Node.js URI parser) creates a server-side request forgery and

CVE-2026-76172 HIGH POC
7.5 Aug 24

Parsing and serialization inconsistency in fast-uri, the Node.js URI parser core to the Fastify ecosystem, allows networ

CVE-2026-84292 HIGH
7.5 Sep 02

URI authority injection in fast-uri allows an attacker-supplied port value containing delimiter characters to demote the

CVE-2026-84394 HIGH
7.5 Sep 02

Host-parsing ambiguity in fast-uri allows attackers to silently bypass SSRF denylists, redirect allowlists, and proxy ro

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Micro 5.3 Not-Affected
SUSE Linux Enterprise Micro 5.3 Not-Affected
SUSE Linux Enterprise Micro 5.3 Not-Affected
SUSE Linux Enterprise Micro 5.3 Not-Affected
SUSE Linux Enterprise Micro 5.4 Not-Affected

Share

CVE-2026-16221 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy