Skip to main content

fast-uri CVE-2026-110180

| EUVDEUVD-2026-104813 MEDIUM
Improper Input Validation (CWE-20)
2026-10-20 ce714d77-add3-4f53-aff5-83d477b104bb GHSA-wjr9-j795-jxcr
4.8
CVSS 3.1 · Vendor: ce714d77-add3-4f53-aff5-83d477b104bb
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify app using fast-uri for host policy
  2. Delivery
    Craft authority with at-sign or tab/CR/LF
  3. Exploit
    Policy check passes on pre-canonical host
  4. Execution
    Canonicalization rewrites to unintended host
  5. Impact
    Traffic steered to attacker destination

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Exploitation requires a consuming application to (1) use fast-uri 2.4.2-2.4.7, 3.1.3-3.1.8, or 4.0.1-4.2.2 on an HTTP-family scheme URL, and (2) enforce a host-based security decision - denylist, loopback/SSRF filtering, redirect allow-listing, or outbound proxy routing - on a host representation that differs from fast-uri's canonicalizeHost() output. The exploitable input is an authority containing more than one at-sign (data before the '@' is silently dropped) or embedded tab, carriage-return, or line-feed characters (silently stripped) with no parse error raised. Limiting factors: the flaw is inert unless the application compares or routes on divergent host representations; impact is confined to misdirected traffic (no code execution or availability loss), and the documented workaround (rejecting multi-at-sign or whitespace authorities, or treating any parse error as fatal) fully mitigates without upgrading.

Impact

This is a moderate, conditional risk rather than a top priority. The provided CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N, base 4.8) correctly reflects a network-reachable, unauthenticated flaw whose severity is tempered by high attack complexity and only low confidentiality/integrity impact. The high complexity is appropriate: exploitation is not inherent to parsing a URI but depends on a consuming application using canonicalizeHost() output to enforce host-based security policy while validating a different representation of the same input. No KEV listing, no EPSS score, and no POC were supplied, so the input signals point to 'no public exploit identified at time of analysis.' No EPSS value is present in the data, so exploitation probability cannot be quantified. The core danger is a parser-differential/SSRF-style policy bypass: it is a potent primitive when fast-uri sits behind denylists, loopback filtering, redirect validators, or proxy routing, but inert in applications that do not make security decisions on the canonicalized host. Net: a legitimate supply-chain concern worth patching promptly in affected deployments, but not an indiscriminate mass-exploitation threat based on available signals.

Exploit ScenarioDerived

An application uses fast-uri's canonicalizeHost() to vet an outbound URL or redirect target against a loopback/denylist policy. An attacker supplies an authority containing an extra at-sign or embedded tab/CR/LF (e.g. 'evil.com\t@allowed.internal' style input) so the policy check sees an allowed host while the WHATWG-driven canonicalization silently rewrites it to a different, attacker-chosen destination. No public exploit code was identified, and the attack requires the victim app to enforce host policy on one representation and route on another.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 20, 2026

Host canonicalization divergence in fast-uri 2.4.2-2.4.7, 3.1.3-3.1.8, and 4.0.1-4.2.2 can let unauthenticated remote attackers steer traffic past host-based denylists, loopback filters, redirect allow-lists, or outbound proxy routing when an application checks a host representation that differs from fast-uri’s canonical output. The parser’s canonicalizeHost() adopts the WHATWG URL parser hostname without confirming the whole authority was consumed, so an authority with more than one at-sign or embedded tab, carriage return, or line feed is silently rewritten and no parse error is raised. The flaw is fixed in 2.4.8, 3.1.9, and 4.2.3; no public exploit code was identified at time of analysis, and impact is limited to misdirected traffic rather than code execution or availability loss.

RemediationAI

Vendor-released patch: upgrade fast-uri to 2.4.8, 3.1.9, or 4.2.3 (or later), as applicable to the installed major line. If upgrading is not immediately possible, reject any authority containing more than one at-sign or any tab, carriage return, or line feed before passing it to fast-uri, or treat any non-empty parse error as fatal and compare hosts only from the same parse result; these workarounds may reject malformed or legacy inputs and can break callers that rely on lenient parsing. Refer to the vendor advisory at https://github.com/fastify/fast-uri/security/advisories/GHSA-wjr9-j795-jxcr and the OpenJS Foundation advisory index at https://cna.openjsf.org/security-advisories.html for details.

Affected VersionsENISA

fast-uri 2.4.2 <2.4.8
fast-uri 4.0.1 <4.2.3
fast-uri 3.1.3 <3.1.9

Affected Packages

npm fast-uri fix: 2.4.8, 3.1.9, 4.2.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

fast-uri is a dependency-free RFC 3986 URI parser and serializer for Node.js. For HTTP-family schemes, canonicalizeHost() delegates host parsing to the WHATWG URL parser and takes the returned hostname, but fails to verify that the parser consumed the entire original authority as a host; this is an improper input validation issue (CWE-20) in URI authority handling. Consequently, data before an at-sign can be dropped and tab, carriage-return, and line-feed characters stripped without an error, creating a canonical host that may diverge from the representation an application used for denylisting, loopback/SSRF filtering, redirect validation, or proxy routing. The assessed CVSS vector is AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N, reflecting a remote, unauthenticated but conditionally exploitable confidentiality and integrity concern.

Know when Node.js gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (ce714d77-add3-4f53-aff5-83d477b104bb) PRIMARY 4.8 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
vuln.today AI 4.8 MEDIUM

Network-reachable and unauthenticated (AV:N/PR:N), but AC:H because exploitation depends on an application enforcing host policy on a divergent representation; limited C/I impact, no availability effect.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Red Hat 4.8 MEDIUM

Primary rating from Vendor (ce714d77-add3-4f53-aff5-83d477b104bb).

CVSS VectorVendor: ce714d77-add3-4f53-aff5-83d477b104bb

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

Lifecycle Timeline

2
Patch available
Oct 20, 2026 - 08:01 EUVD
CVE Published
Oct 20, 2026 - 07:17 cve.org
MEDIUM 4.8

DescriptionCVE.org

fast-uri is a dependency-free RFC 3986 URI parser and serializer for Node.js. In versions from 2.4.2 through 2.4.7, from 3.1.3 through 3.1.8, and from 4.0.1 through 4.2.2, for HTTP-family schemes the canonicalizeHost() function passes the parsed host to the WHATWG URL parser and adopts its hostname without checking that the parser consumed the entire input as a host, so the authority can be silently rewritten: data before an at-sign is dropped and tab, carriage-return, and line-feed characters are stripped, with no error reported. An application that enforces host-based policy such as denylists, loopback filtering, redirect validation, or outbound proxy routing on one representation can then see the canonical host diverge from what it checked, allowing traffic to be steered to an unintended destination. The issue is fixed in fast-uri 2.4.8, 3.1.9, and 4.2.3, and users should upgrade to one of these versions or later. As a workaround, reject an authority that contains more than one at-sign or any tab, carriage-return, or line-feed before calling fast-uri, or treat any non-empty parse error as fatal and compare hosts only from the same parse result.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
High
fast-uri is a core Fastify dependency with very high npm download volume
Threat Intel
1
1 sources
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2025-68613 HIGH POC
8.8 Dec 19

Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

Vendor StatusVendor

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