Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft URL with percent-encoded path traversal
-
DeliverySubmit to application endpoint
-
ExploitTrigger fast-uri normalize() in authorization logic
-
ExecutionDecoded path bypasses prefix check
-
ImpactAccess restricted resource
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the target application uses fast-uri's normalize() or equal() functions as part of a security decision - specifically for path-based authorization checks, URL allowlisting/denylisting, or route prefix validation on attacker-controlled URLs. Vulnerable pattern: comparing normalized URLs against security policies rather than performing authorization on raw paths. Applications only using fast-uri for display formatting, logging, or non-security URI manipulation are not exploitable. No authentication, special configuration, or user interaction required - remote unauthenticated exploitation succeeds against default fast-uri installations when used in vulnerable code patterns. Limiting factors: the application must actually pass attacker-controlled URLs through normalize()/equal() before security checks; applications performing authorization on raw URLs or using proper security boundaries (like routing before normalization) are not affected despite using the vulnerable library version. |
| Impact | Real-world risk is HIGH for specific deployment contexts despite no current KEV listing. CVSS 7.5 reflects maximum theoretical impact with network-accessible attack vector requiring no authentication or user interaction, resulting in high integrity impact (authorization bypass). However, actual exploitability depends entirely on whether the application uses fast-uri's normalize() or equal() functions as a security boundary for path-based authorization. The CVSS AC:L (low complexity) is accurate - exploitation requires only crafting URLs like '/allowed/path/../../../restricted/resource' with percent-encoding. EPSS data not yet available for this recent disclosure, but the attack pattern is well-understood (similar to historical path traversal bypasses in web frameworks). No public POC identified at time of analysis, but the vulnerability description provides sufficient detail for trivial reproduction. Priority for patching: CRITICAL for applications using fast-uri in authorization logic (API gateways, file servers, proxy routing rules); LOW for applications using it only for display or logging. SSVC assessment: Exploitation status is POC (trivial from description), Automatable (yes - static URL manipulation), Technical Impact is partial (authorization bypass to integrity violation). Missing signal: no data on whether Fastify framework itself uses these functions in security-critical paths. |
| Exploit ScenarioDerived | An API gateway uses fast-uri to validate that incoming request paths fall under an allowed prefix '/api/public/' before forwarding requests. An attacker crafts a malicious URL '/api/public/%2E%2E%2Fadmin/sensitive-data' where %2E%2E represents '..' (parent directory traversal). The fast-uri normalize() function decodes '%2E%2E' to literal '..' then applies dot-segment removal, collapsing the path to '/api/admin/sensitive-data'. The prefix check '/api/public/' passes on the original string but the normalized path routes to the restricted admin endpoint, bypassing authorization. No special prerequisites or authentication required - exploitation succeeds via a single crafted HTTP request. No public POC identified at time of analysis, but the attack is trivial to reproduce from the vulnerability description. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 04, 2026
Path normalization bypass in fast-uri 3.1.0 and earlier allows remote attackers to circumvent path-based access controls through percent-encoded path traversal sequences. The normalize() and equal() functions decode URL-encoded separators (%2F) and dot segments (%2E) before applying normalization rules, causing distinct URIs to collapse onto identical normalized paths. Applications relying on fast-uri for URL validation in authorization checks can be tricked into allowing access to restricted resources. EPSS exploitation probability not yet calculated given recent disclosure; no active exploitation confirmed (not in CISA KEV), but attack vector is trivial (CVSS AV:N/AC:L/PR:N/UI:N) and patch is available in version 3.1.1.
RemediationAI
Vendor-released patch: upgrade to fast-uri version 3.1.1 or later, which corrects the normalization order to treat percent-encoded characters as opaque path data per RFC 3986. Update via npm with 'npm update fast-uri' or yarn equivalent, then verify package-lock.json reflects version >=3.1.1. For applications unable to upgrade immediately, implement compensating controls: (1) Perform authorization checks on raw, non-normalized URLs to prevent normalization-based bypasses, with trade-off that legitimate equivalent URLs may be incorrectly denied; (2) Explicitly reject URLs containing percent-encoded slashes (%2F, %5C) and dots (%2E) in security-critical paths using a pre-filter (regex: /%2[EeFf]|%5[Cc]/i), noting this breaks legitimate use cases requiring encoded special characters; (3) Use an alternative URI normalization library like 'uri-js' for security boundaries while migrating to fast-uri 3.1.1. Advisory URLs: https://github.com/fastify/fast-uri/security/advisories/GHSA-q3j6-qgpj-74h6 and https://cna.openjsf.org/security-advisories.html. Test authorization logic after patching to ensure intended access controls remain functional.
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 JavaScript URI parsing and normalization library used in the Fastify web framework ecosystem. The vulnerability stems from incorrect implementation of RFC 3986 normalization: the library decodes percent-encoded characters (like %2F for '/' and %2E for '.') before performing dot-segment removal per RFC 3986 Section 5.2.4, rather than treating encoded data as opaque path segments. This violates the principle that percent-encoding should preserve semantic distinctions between literal characters and special path syntax. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory), manifesting as a normalization collision vulnerability. Affected package: cpe:2.3:a:fast-uri:fast-uri:*:*:*:*:*:*:*:* (all versions through 3.1.0). Applications using this library for security-critical path comparison or prefix-matching authorization checks are vulnerable to authorization bypass.
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 decoded percent-encoded path separators and dot segments before applying dot-segment removal in its normalize() and equal() functions. Encoded path data was treated like real slashes and parent-directory references, so distinct URIs could collapse onto the same normalized path. Applications that normalize or compare attacker-controlled URLs to enforce path-based policy can be bypassed, with a path that appears confined under an allowed prefix normalizing to a different location. Versions <= 3.1.0 are affected. Update to 3.1.1 or later.
Executive ViewAI
CVE-2026-6321 affects fast-uri library versions 3.1.0 and earlier, enabling remote attackers to bypass path-based access controls through URL encoding manipulation. Applications using fast-uri for authorization decisions are at risk of unauthorized access to restricted resources without requiring authentication or user interaction.
Vendor-released patch: fast-uri version 3.1.1 or later. If immediate upgrade is not possible, implement independent path normalization validation at the application layer before authorization checks; log and alert on percent-encoded path sequences (%2F, %2E) in URL paths; conduct manual code review of all authorization logic dependent on fast-uri output.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
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
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-22 – Path Traversal
View allSame technique Path Traversal
View allVendor StatusVendor
SUSE
Severity: High| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
| SUSE Linux Enterprise Micro 5.3 | Fixed |
| SUSE Linux Enterprise Micro 5.3 | Fixed |
| SUSE Linux Enterprise Micro 5.3 | Fixed |
| SUSE Linux Enterprise Micro 5.3 | Fixed |
| SUSE Linux Enterprise Micro 5.4 | Fixed |
| SUSE Linux Enterprise Micro 5.4 | Fixed |
| SUSE Linux Enterprise Micro 5.4 | Fixed |
| SUSE Linux Enterprise Micro 5.4 | Fixed |
| SUSE Linux Enterprise Micro 5.5 | Fixed |
| SUSE Linux Enterprise Micro 5.5 | Fixed |
| SUSE Linux Enterprise Micro 5.5 | Fixed |
| SUSE Linux Enterprise Micro 5.5 | Fixed |
| SUSE Linux Enterprise Module for SAP Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Server 16.0 | Fixed |
| SUSE Linux Enterprise Server 16.0 | Fixed |
| SUSE Linux Enterprise Server 16.0 | Fixed |
| SUSE Linux Enterprise Server 16.0 | Fixed |
| SUSE Linux Enterprise Server 16.0 | Fixed |
| SUSE Linux Enterprise Server 16.0 | Fixed |
| SUSE Linux Enterprise Server 16.1 | Fixed |
| SUSE Linux Enterprise Server 16.1 | Fixed |
| SUSE Linux Enterprise Server 16.1 | Fixed |
| SUSE Linux Enterprise Server 16.1 | Fixed |
| SUSE Linux Enterprise Server 16.1 | Fixed |
| SUSE Linux Enterprise Server 16.1 | Fixed |
| SUSE Linux Enterprise Server 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| SUSE Linux Micro 6.0 | Fixed |
| SUSE Linux Micro 6.0 | Fixed |
| SUSE Linux Micro 6.0 | Fixed |
| SUSE Linux Micro 6.0 | Fixed |
| SUSE Linux Micro 6.1 | Fixed |
| SUSE Linux Micro 6.1 | Fixed |
| SUSE Linux Micro 6.1 | Fixed |
| SUSE Linux Micro 6.1 | Fixed |
| SUSE Linux Micro 6.2 | Fixed |
| SUSE Linux Micro 6.2 | Fixed |
| SUSE Linux Micro 6.2 | Fixed |
| SUSE Linux Micro 6.2 | Fixed |
| SUSE Linux Micro 6.2 | Fixed |
| SUSE Linux Micro 6.2 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Fixed |
| SUSE Linux Enterprise Module for SAP Applications 15 SP3 | Fixed |
| SUSE Linux Enterprise Module for SAP Applications 15 SP4 | Fixed |
| SUSE Linux Enterprise Module for SAP Applications 15 SP5 | Fixed |
| SUSE Linux Enterprise Module for SAP Applications 15 SP6 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Fixed |
| openSUSE Leap Micro 5.5 | Fixed |
| openSUSE Leap Micro 5.5 | Fixed |
| openSUSE Leap Micro 5.5 | Fixed |
EUVD-2026-27129
GHSA-q3j6-qgpj-74h6
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB