Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify application using fast-uri for host-based policy
-
DeliveryCraft backslash-authority URL targeting forbidden host
-
ExploitSubmit URL to application validation endpoint
-
Executionfast-uri misparses: no authority detected, policy check passes
-
ImpactNode fetch correctly extracts host, issues request to unintended destination
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service Interpretation consistency
|
| Exploitation Conditions | Exploitation requires the target application to use fast-uri as an intermediate URL parsing and policy enforcement component - specifically for host allowlisting, SSRF filtering, or redirect validation - and then pass the same URL string to Node.js's native URL API or the fetch() function for actual HTTP consumption. The bypass applies exclusively to URI schemes designated 'special' under the WHATWG URL standard (http, https, ftp, ws, wss), because Node only treats backslash as a slash equivalent for these schemes; custom or non-special schemes are not affected. The attacker triggers the discrepancy by using a backslash-based authority introducer in the submitted URL (backslash-backslash '\\\\', forward slash-backslash '/\', or backslash-forward slash '\/') in place of the standard '//'. Limiting factors: applications that do not perform host-based policy enforcement via fast-uri are not exposed; applications that use only Node's native URL for both validation and consumption eliminate the parser differential; non-special URI schemes bypass the mechanism. Authentication at the application layer is not a limiting factor - PR:N in the CVSS vector confirms no credentials are required to submit a crafted URL to the validator. |
| Impact | The CVSS 7.5 High vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N) accurately characterizes the ease of exploitation once a vulnerable application pattern is identified: no authentication, no elevated complexity beyond crafting a backslash URL, and high integrity impact from bypassing security controls. However, real-world risk is conditional - exploitation requires the target application to use fast-uri specifically as a security enforcement layer before delegating URL consumption to Node's URL or fetch API. Applications using fast-uri purely for parsing without security gating are not directly at risk. EPSS data was not provided in the source intelligence, so probabilistic exploitation likelihood cannot be quantified numerically. The vulnerability is not listed in CISA KEV and no public exploit code has been identified at time of analysis, suggesting active exploitation is not yet widespread. Despite the PR:N/AC:L ease of triggering the bypass, the full impact chain (SSRF, redirect hijack, allowlist bypass) requires the downstream application to act on the attacker-supplied URL - a common but not universal pattern. Teams using Fastify with host allowlisting or SSRF mitigations built on fast-uri should treat this as high priority; all others should apply the patch opportunistically in their next release cycle. |
| Exploit ScenarioDerived | An attacker targeting an application that validates redirect destinations against an allowlist submits the URL 'http:\\\ internal-service.local/admin' as the redirect parameter. fast-uri parses the input, finds no recognizable authority (the backslash introducer is not treated as '//'), and the host-based allowlist check passes without blocking the request. Node's fetch API then processes the identical string, correctly extracts 'internal-service.local' as the host per WHATWG rules, and issues the HTTP request to the unintended internal endpoint. No public exploit code is known at time of analysis, but the technique is mechanically straightforward for any attacker familiar with URL parser differential research. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 31, 2026
Security filter bypass in fast-uri (before versions 4.1.2, 3.1.5, and 2.4.4) enables unauthenticated remote attackers to circumvent host-based access controls - including SSRF filters, allowlists, and redirect validators - by submitting URLs that use backslash-based authority introducers. The parser inconsistency between fast-uri and Node.js's native WHATWG URL handler causes the same crafted URL to resolve to different hosts in each parser, allowing attackers to steer downstream requests to unintended destinations. No public exploit is identified at time of analysis and this CVE does not appear in CISA KEV, though the CVSS 7.5 High rating with AV:N/AC:L/PR:N/UI:N reflects straightforward remote exploitability wherever the vulnerable application pattern exists.
RemediationAI
Upgrade fast-uri to version 4.1.2, 3.1.5, or 2.4.4 as appropriate for the major version in use; these are the vendor-released patches confirmed by the OpenJS Foundation CNA via the advisory at https://github.com/fastify/fast-uri/security/advisories/GHSA-7p8r-x3mc-p8w7. If an immediate upgrade is not feasible, a compensating control is to preprocess user-supplied URLs before passing them to fast-uri by normalizing all backslash characters in the authority position to forward slashes - this eliminates the ambiguity the attacker exploits, though it alters URL semantics and must be validated against application behavior. Alternatively, consolidate all URL host extraction and policy enforcement onto Node's native URL parser exclusively, eliminating the parser differential entirely; this requires verifying that fast-uri is removed from the security-critical validation path. As a defense-in-depth measure independent of this fix, enforce network-level egress filtering on outbound HTTP requests so that no application-layer allowlist is the sole SSRF control - bypassing the filter should not be sufficient to reach sensitive internal endpoints.
Affected VersionsENISA
Affected Packages
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 URI parsing library central to the Fastify Node.js web framework ecosystem, identified by CPE cpe:2.3:a:fast-uri:fast-uri:*:*:*:*:*:*:*:*. The root cause is CWE-436 (Interpretation Conflict) - a vulnerability class where two components processing the same input derive different semantic results. fast-uri strictly requires a literal double forward slash ('//') to recognize a URI authority component; when a backslash-based sequence ('\\', '/\', or '\/') is used instead, fast-uri treats the input as having no authority and folds the remainder into the path. Node.js's native WHATWG URL parser, by contrast, follows the WHATWG URL Living Standard which explicitly treats backslash as equivalent to forward slash for 'special' URI schemes (http, https, ftp, ws, wss). This standard-compliant behavior means Node.js correctly identifies the intended host in such URLs while fast-uri does not - a textbook parser differential, a well-documented attack pattern in SSRF and open-redirect research. Applications that use fast-uri as a security enforcement gate and then pass the same URL string to Node's URL API or fetch() as the actual consumer are exposed to the discrepancy.
Know when Fast Uri 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
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Network vector with no privileges required to submit a crafted URL; integrity-only impact reflects security control bypass without direct confidentiality or availability consequence.
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Primary rating from Vendor (openjs).
CVSS VectorVendor: openjs
Lifecycle Timeline
2DescriptionCVE.org
fast-uri before 4.1.2, 3.1.5, and 2.4.4 requires a literal double forward slash to recognize a URI authority, so a reference that uses a backslash based introducer in place of it (backslash backslash, forward slash backslash, or backslash forward slash) is parsed with no authority and folds into the path. Node's native WHATWG URL parser instead treats a backslash as interchangeable with a forward slash for special schemes, so the two parsers extract different hosts from the same input. Applications that use fast-uri to enforce host based policy such as allowlists, SSRF filtering, or redirect validation before passing the same URL into Node's URL or fetch consumers can be steered to an unintended host. Upgrade to fast-uri 4.1.2, 3.1.5, or 2.4.4.
Latest POC
1 PoC candidate from github (unverified)
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
CVE-2026-18446 in fast-uri allows unauthenticated remote attackers to bypass security controls protecting internal resources-including SSRF filters, URL allowlists, and redirect validators. Organizations using vulnerable versions risk unauthorized access to sensitive systems and data. Vendor patches are available and should be deployed immediately.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Host confusion in fast-uri, a Node.js URI parser in the Fastify ecosystem, allows policy bypass by exploiting inconsiste
Server-side request forgery and address-policy bypass in fast-uri, the Node.js URI parser used widely in the fastify eco
Double-decoding of percent-encoded hostnames in fast-uri (Node.js URI parser) creates a server-side request forgery and
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
Parsing and serialization inconsistency in fast-uri, the Node.js URI parser core to the Fastify ecosystem, allows networ
URI authority injection in fast-uri allows an attacker-supplied port value containing delimiter characters to demote the
Path normalization bypass in fast-uri 3.1.0 and earlier allows remote attackers to circumvent path-based access controls
Authority confusion in fast-uri JavaScript library allows remote attackers to bypass URL validation security controls. T
Host-parsing ambiguity in fast-uri allows attackers to silently bypass SSRF denylists, redirect allowlists, and proxy ro
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
The mailto scheme parser added to fast-uri 4.1.3 (and still present in 4.1.4) compares query field names against the res
Host allowlist and denylist bypass in fast-uri, the dependency-free RFC 3986 URI parser used by Fastify and ajv, affects
Same weakness CWE-436 – Interpretation Conflict
View allVendor StatusVendor
SUSE
Severity: Moderate| 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 |
| SUSE Linux Enterprise Micro 5.4 | Not-Affected |
| SUSE Linux Enterprise Micro 5.4 | Not-Affected |
| SUSE Linux Enterprise Micro 5.4 | Not-Affected |
| SUSE Linux Enterprise Micro 5.5 | Not-Affected |
| SUSE Linux Enterprise Micro 5.5 | Not-Affected |
| SUSE Linux Enterprise Micro 5.5 | Not-Affected |
| SUSE Linux Enterprise Micro 5.5 | Not-Affected |
| SUSE Linux Enterprise Module for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Micro 6.0 | Not-Affected |
| SUSE Linux Micro 6.0 | Not-Affected |
| SUSE Linux Micro 6.0 | Affected |
| SUSE Linux Micro 6.0 | Not-Affected |
| SUSE Linux Micro 6.1 | Affected |
| SUSE Linux Micro 6.1 | Not-Affected |
| SUSE Linux Micro 6.1 | Not-Affected |
| SUSE Linux Micro 6.1 | Affected |
| SUSE Linux Micro 6.2 | Affected |
| SUSE Linux Micro 6.2 | Affected |
| SUSE Linux Micro 6.2 | Affected |
| SUSE Linux Micro 6.2 | Affected |
| SUSE Linux Micro 6.2 | Affected |
| SUSE Linux Micro 6.2 | Affected |
| openSUSE Leap 16.0 | Affected |
| openSUSE Leap 16.0 | Affected |
| openSUSE Leap 16.0 | Affected |
| openSUSE Leap 16.0 | Affected |
| openSUSE Leap 16.0 | Affected |
| openSUSE Leap 16.0 | Affected |
| openSUSE Leap 16.0 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Module for SAP Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Module for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Module for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Module for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| openSUSE Leap Micro 5.5 | Not-Affected |
| openSUSE Leap Micro 5.5 | Not-Affected |
| openSUSE Leap Micro 5.5 | Not-Affected |
EUVD-2026-51553
GHSA-7p8r-x3mc-p8w7
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB