Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft URL with encoded @ delimiter
-
DeliverySubmit to vulnerable endpoint
-
ExploitTrigger fast-uri normalize()
-
ExecutionBypass allowlist validation
-
ImpactRedirect victim to attacker domain
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: (1) accept untrusted URLs from user input (query parameters, POST data, JSON payloads), (2) pass those URLs through fast-uri's normalize() function, and (3) perform security decisions (allowlist validation, redirect approval, SSRF prevention, outbound request routing) on the normalized output rather than the raw input. The vulnerability does NOT affect applications that validate URLs before normalization, applications that parse but don't normalize URLs, or applications using fast-uri only for non-security-critical URL manipulation. The CVSS vector AV:N/AC:L/PR:N/UI:N indicates no special network conditions, authentication, or user interaction required once a vulnerable application pattern exists. Limiting factors: requires developer to implement the specific vulnerable pattern of normalize-then-validate, and requires the application to handle user-controlled URLs in security-sensitive contexts. Applications using alternative validation logic or different parsing libraries are not affected. |
| Impact | Real-world risk is HIGH for applications using fast-uri in security-critical URL validation flows. CVSS 7.5 with vector AV:N/AC:L/PR:N/UI:N indicates trivial remote exploitation requiring no authentication or user interaction, and AC:L means exploitation is straightforward once the vulnerable pattern is identified. The High Integrity impact (I:H) reflects the ability to bypass security controls entirely. However, exploitability depends entirely on application context - the vulnerability only manifests when developers use fast-uri's normalize() output for allowlist validation, redirect target checking, or SSRF prevention. Applications that validate raw input before normalization, or that don't perform host-based security checks, are not affected. EPSS score unavailable but expected to be moderate given this is a logic flaw requiring specific application integration patterns. Not in CISA KEV, indicating no confirmed widespread exploitation, though the public GitHub Security Advisory (GHSA-v39h-62p7-jpjc) provides full technical details that enable exploitation. SSVC assessment: exploitation status = POC (advisory includes demonstration), automatable = no (requires vulnerable integration pattern), technical impact = partial (integrity bypass in specific contexts). Priority depends on whether your application uses fast-uri for security-sensitive URL validation. |
| Exploit ScenarioDerived | An attacker targets a web application that uses fast-uri to validate redirect URLs against an allowlist of trusted domains (e.g., 'trusted.com'). The application accepts a redirect parameter like 'http://trusted.com%40attacker.com/steal-session' which appears to target the trusted domain. The application passes this URL through fast-uri's normalize() function, which decodes %40 to '@' and re-emits it, producing 'http://trusted.com@attacker.com/steal-session'. The allowlist check naively matches 'trusted.com' in the normalized string and approves the redirect. The user's browser interprets the '@' as a userinfo separator per RFC 3986, connecting to 'attacker.com' instead, where the attacker captures session tokens or credentials. Public exploit code exists in the GitHub Security Advisory demonstrating the parsing behavior. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 05, 2026
Authority confusion in fast-uri JavaScript library allows remote attackers to bypass URL validation security controls. The normalize() function improperly decodes percent-encoded at-signs (%40) in hostnames, then re-serializes them as raw userinfo delimiters, causing URLs like 'http://trusted.com%40evil.com' to resolve to 'evil.com' instead of 'trusted.com'. Applications using fast-uri to validate URLs against allowlists or for redirect validation can be tricked into connecting to attacker-controlled domains. CVSS 7.5 (AV:N/AC:L/PR:N/UI:N) indicates trivial remote exploitation with no authentication. EPSS data not available; no confirmed active exploitation (not in CISA KEV). Vendor patch released in version 3.1.2.
RemediationAI
Update fast-uri to version 3.1.2 or later, which correctly handles percent-encoded authority delimiters without re-interpreting them as structural characters. For npm-based projects, run 'npm update fast-uri' or update package.json to specify '"fast-uri": "^3.1.2"' and reinstall dependencies. Vendor advisory at https://github.com/fastify/fast-uri/security/advisories/GHSA-v39h-62p7-jpjc confirms the fix. If immediate upgrade is not feasible, implement these compensating controls: (1) perform allowlist validation on raw URLs BEFORE normalization to prevent interpretation differences, (2) reject any URLs containing percent-encoded characters in the authority component (%40, %2F, %3A, %23, %3F) before passing to fast-uri, or (3) use alternative URL parsing libraries like Node.js native URL API for security-critical validation. Trade-off: Pre-normalization validation may reject some legitimate edge-case URLs but prevents parser confusion attacks. Do NOT rely solely on post-normalization validation for security decisions when using versions <=3.1.1.
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
This vulnerability affects the fast-uri JavaScript library (npm package), specifically the normalize() function used for URL canonicalization. The root cause is CWE-436 (Interpretation Conflict), where the same input is processed differently by sequential validation stages. RFC 3986 defines '@' as the userinfo-host separator in URIs (userinfo@host). When an encoded '@' (%40) appears within what looks like a hostname, fast-uri's normalization incorrectly decodes it during parsing but then re-emits it as a literal '@' during serialization, transforming the URI structure. The CPE identifier cpe:2.3:a:fast-uri:fast-uri:*:*:*:*:*:*:*:* confirms this is a library-level vulnerability affecting all consuming applications. This is a parser differential attack similar to SSRF and open redirect vulnerabilities, where normalization changes the semantic meaning of user-supplied URLs in security-sensitive contexts.
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
Primary rating from Vendor (openjs).
CVSS VectorVendor: openjs
Lifecycle Timeline
1DescriptionCVE.org
fast-uri normalize() decoded percent-encoded authority delimiters inside the host component and then re-emitted them as raw delimiters during serialization. A host that combined an allowed domain, an encoded at-sign, and a different domain was re-emitted with the at-sign as a raw userinfo separator, changing the URI's authority to the second domain. Applications that normalize untrusted URLs before host allowlist checks, redirect validation, or outbound request routing can be steered to a different authority than the input appeared to specify. Versions <= 3.1.1 are affected. Update to 3.1.2 or later.
Executive ViewAI
CVE-2026-6322 affects the fast-uri JavaScript library and enables attackers to bypass URL validation controls by exploiting improper handling of percent-encoded characters, allowing redirect and allowlist bypasses without authentication. Organizations using fast-uri for URL validation, domain allowlisting, or redirect protection face immediate risk of being directed to attacker-controlled domains. This requires urgent inventory and patching of all applications consuming this library.
Vendor-released patch: fast-uri version 3.1.2. If immediate patching is not feasible: (1) Implement network-level hostname validation independent of fast-uri; (2) Use URL parsing libraries with established security track records in parallel; (3) Add manual code review of all redirect destinations before processing; (4) Enforce strict Content Security Policy headers to limit redirect targets; (5) Monitor URL patterns in logs for %40-encoded at-signs as a detection signal.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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
Security filter bypass in fast-uri (before versions 4.1.2, 3.1.5, and 2.4.4) enables unauthenticated remote attackers to
Path normalization bypass in fast-uri 3.1.0 and earlier allows remote attackers to circumvent path-based access controls
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 allSame technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Micro 5.3 | Affected |
| SUSE Linux Enterprise Micro 5.3 | Affected |
| SUSE Linux Enterprise Micro 5.3 | Affected |
| SUSE Linux Enterprise Micro 5.3 | Affected |
| SUSE Linux Enterprise Micro 5.4 | Affected |
| SUSE Linux Enterprise Micro 5.4 | Affected |
| SUSE Linux Enterprise Micro 5.4 | Affected |
| SUSE Linux Enterprise Micro 5.4 | Affected |
| SUSE Linux Enterprise Micro 5.5 | Affected |
| SUSE Linux Enterprise Micro 5.5 | Affected |
| SUSE Linux Enterprise Micro 5.5 | Affected |
| SUSE Linux Enterprise Micro 5.5 | 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 | Affected |
| SUSE Linux Micro 6.0 | Affected |
| SUSE Linux Micro 6.0 | Affected |
| SUSE Linux Micro 6.0 | Affected |
| SUSE Linux Micro 6.1 | Affected |
| SUSE Linux Micro 6.1 | Affected |
| SUSE Linux Micro 6.1 | 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 | Affected |
| openSUSE Leap Micro 5.5 | Affected |
| openSUSE Leap Micro 5.5 | Affected |
EUVD-2026-27248
GHSA-v39h-62p7-jpjc
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB