Skip to main content

Fastify CVE-2026-33808

| EUVDEUVD-2026-22881 CRITICAL
Interpretation Conflict (CWE-436)
2026-04-15 openjs GHSA-6hw5-45gm-fj88
9.1
CVSS 4.0 · Vendor: openjs
View

Attack ChainAIDerived

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

  1. Access
    Send request with duplicate slashes or semicolons
  2. Delivery
    Fastify normalizes URL internally
  3. Exploit
    @fastify/express passes original URL to Express
  4. Execution
    Authentication middleware fails to match
  5. Impact
    Access protected resources

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 Fastify application to have explicitly enabled EITHER the ignoreDuplicateSlashes option (configured in Fastify router options as 'ignoreDuplicateSlashes: true') OR the useSemicolonDelimiter option (configured as 'useSemicolonDelimiter: true'), AND the application must use Express-compatible middleware via @fastify/express for path-scoped authentication or authorization (rather than Fastify-native onRequest/preHandler hooks). Vulnerable configurations are typically found in applications migrating from Express to Fastify

Impact

This vulnerability presents critical real-world risk despite no confirmed active exploitation. The CVSS v4.0 score of 9.1 (Critical) accurately reflects the severity: network-accessible (AV:N), low attack complexity (AC:L), no privileges required (PR:N), no user interaction (UI:N), with high confidentiality and integrity impact (VC:H/VI:H). The 'AT:P' (Attack Requirements: Present) modifier indicates specific deployment conditions must exist (Fastify normalization options enabled), which moderately reduces the attack surface but does not eliminate risk. While EPSS probability data is unavailable and no KEV listing exists, the vulnerability's simplicity-requiring only URL path manipulation via HTTP requests-makes it highly automatable and trivial to exploit where conditions are met. The technical barrier is minimal: attackers need only append duplicate slashes or semicolons to protected URLs. The primary risk mitigator is that exploitation requires the Fastify application to have explicitly enabled ignoreDuplicateSlashes or useSemicolonDelimiter options AND to rely on Express middleware for authentication rather than Fastify-native hooks. Organizations using @fastify/express v4.0.4 or earlier with these normalization features enabled for path-based authentication should treat this as an emergency patch priority, as complete authentication bypass enables unauthorized access to sensitive application functionality and data.

Exploit ScenarioDerived

An attacker identifies a Fastify application using @fastify/express with authentication middleware protecting '/api/admin' endpoints. The application has enabled ignoreDuplicateSlashes for URL flexibility. The attacker sends a crafted HTTP GET request to '/api//admin/users' (note duplicate slashes). Fastify's router normalizes the path to '/api/admin/users' and matches the route, but @fastify/express passes the original '/api//admin/users' to the Express authentication middleware configured for '/api/admin/*'. The middleware fails to match the malformed path pattern and skips execution, allowing the unauthenticated request to proceed directly to the protected admin handler, exposing sensitive user data or enabling unauthorized administrative actions.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Apr 15, 2026

Authentication bypass in @fastify/express v4.0.4 and earlier allows remote unauthenticated attackers to access protected routes via URL path manipulation. The vulnerability exploits a URL normalization mismatch: Fastify router normalizes URLs (removing duplicate slashes or handling semicolon delimiters based on configuration), but @fastify/express passes the original un-normalized URL to Express middleware, causing path-scoped authentication checks to fail and be skipped entirely. No public expl

Earlier versions of this analysis (1)
v1 Apr 15, 2026 - 12:22 CVSS 9.1

Authentication bypass in @fastify/express v4.0.4 and earlier allows remote unauthenticated attackers to access protected routes via URL path manipulation. The vulnerability exploits a URL normalization mismatch: Fastify router normalizes URLs (removing duplicate slashes or handling semicolon delimiters based on configuration), but @fastify/express passes the original un-normalized URL to Express middleware, causing path-scoped authentication checks to fail and be skipped entirely. No public exploit code identified at time of analysis, though exploitation is straightforward with low attack complexity (CVSS AC:L). EPSS data not available, not listed in CISA KEV.

RemediationAI

Immediately upgrade to @fastify/express version 4.0.5 or later, which resolves the URL normalization mismatch by ensuring Express middleware receives the same normalized URL that Fastify's router processes. For applications using npm, execute 'npm install @fastify/express@latest' or update package.json to specify '@fastify/express': '^4.0.5' and run 'npm install'. If immediate patching is not feasible, implement temporary mitigations: disable ignoreDuplicateSlashes and useSemicolonDelimiter options in Fastify router configuration to eliminate the normalization discrepancy, or migrate authentication logic from Express middleware to Fastify-native onRequest hooks which operate on normalized URLs consistently. Verify patch effectiveness by testing authentication bypass scenarios with duplicate slashes and semicolons in protected route paths. Review application logs for suspicious URL patterns containing '//' or ';' in requests to protected endpoints that may indicate exploitation attempts prior to patching. Consult the official security advisory at https://github.com/fastify/fastify-express/security/advisories/GHSA-6hw5-45gm-fj88 for additional implementation guidance and verification procedures.

Affected VersionsENISA

@fastify/express 0 <4.0.5

Affected Packages

npm @fastify/express fix: 4.0.5
euvd fastify_express fix: 4.0.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm, euvd

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

Technical ContextAI · show details

@fastify/express is a middleware adapter that enables the use of Express-compatible middleware within Fastify applications. Fastify's router supports normalization options including ignoreDuplicateSlashes (treating '/api//protected' as '/api/protected') and useSemicolonDelimiter (treating '/api;protected' as '/api/protected'). The vulnerability (CWE-436: Interpretation Conflict) arises from a classic normalization mismatch between routing layers: Fastify's router performs normalization and successfully matches routes, but the @fastify/express adapter passes the raw, pre-normalization URL to Express middleware functions. Express middleware configured to protect specific paths (e.g., '/api/protected') receives the malformed path ('/api//protected' or '/api;protected') and fails to match, causing the middleware to skip execution entirely. This is a critical architectural flaw in multi-layer web frameworks where different components make inconsistent assumptions about URL canonicalization, a common source of security boundary violations in proxy and middleware chain scenarios.

Know when Fastify 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 (openjs) PRIMARY 9.1 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (openjs) · only source for this CVE.

CVSS VectorVendor: openjs

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch released
Apr 16, 2026 - 02:30 nvd
Patch available
CVE Published
Apr 15, 2026 - 09:29 nvd
CRITICAL 9.1

DescriptionCVE.org

Impact@fastify/express v4.0.4 and earlier fails to normalize URLs before passing them to Express middleware when Fastify router normalization options are enabled. This allows complete bypass of path-scoped authentication middleware via duplicate slashes when ignoreDuplicateSlashes is enabled, or via semicolon delimiters when useSemicolonDelimiter is enabled. In both cases, Fastify router normalizes the URL and matches the route, but @fastify/express passes the original un-normalized URL to Express middleware, which fails to match and is skipped. An unauthenticated attacker can access protected routes by manipulating the URL path.

PatchesUpgrade to @fastify/express v4.0.5 or later.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 1 npm packages depend on @fastify/express (1 direct, 0 indirect)

Ecosystem-wide dependent count for version 4.0.5.

Executive ViewAI

Why It Matters

@fastify/express versions 4.0.4 and earlier contain a critical authentication bypass that allows unauthenticated remote attackers to access protected application routes through URL path manipulation. This vulnerability affects any organization using Fastify with the Express adapter for middleware-based authentication, potentially exposing sensitive data and functionality without requiring valid credentials.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Implement strict URL normalization validation at application entry point before routing; (2) enforce re-authentication for all protected routes using additional middleware verification independent of path-matching logic; (3) deploy WAF rules to block requests with suspicious URL encoding (double slashes, semicolon delimiters); (4) restrict network access to protected endpoints to known trusted IPs pending patch availability.

Threat Intelligence Overview

EPSS Score
0.1%
Top 71% exploitable
Threat Intel
1
1 source
Social Media
2
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA CIRCL 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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2023-31999 HIGH POC
8.8 Jul 04

All versions of @fastify/oauth2 used a statically generated state parameter at startup time and were used across all req

CVE-2021-22964 HIGH POC
8.8 Oct 14

A redirect vulnerability in the `fastify-static` module version >= 4.2.4 and < 4.4.1 allows remote attackers to redirect

CVE-2025-32442 HIGH POC
7.5 Apr 18

Fastify is a fast and low overhead web framework, for Node.js. Rated high severity (CVSS 7.5), this vulnerability is rem

CVE-2020-8136 HIGH POC
7.5 Mar 20

Prototype pollution vulnerability in fastify-multipart < 1.0.5 allows an attacker to crash fastify applications parsing

CVE-2018-3711 HIGH POC
7.5 Jun 07

Fastify node module before 0.38.0 is vulnerable to a denial-of-service attack by sending a request with "Content-Type: a

CVE-2020-8192 MEDIUM POC
6.5 Jul 30

A denial of service vulnerability exists in Fastify v2.14.1 and v3.0.0-rc.4 that allows a malicious user to trigger reso

CVE-2021-22963 MEDIUM POC
6.1 Oct 14

A redirect vulnerability in the fastify-static module version < 4.2.4 allows remote attackers to redirect users to arbit

CVE-2026-6556 CRITICAL
9.1 Jun 30

Authorization bypass in the @fastify/express middleware-compatibility plugin (versions 4.0.6 and earlier) lets unauthent

CVE-2026-33807 CRITICAL
9.1 Apr 15

Middleware bypass in Fastify Express plugin (fastify/express) allows complete circumvention of authentication, authoriza

CVE-2022-41919 HIGH
8.8 Nov 22

Fastify is a web framework with minimal overhead and plugin architecture. Rated high severity (CVSS 8.8), this vulnerabi

CVE-2026-2880 HIGH
8.2 Feb 27

Authentication and authorization bypass in @fastify/middie (Node.js middleware library for Fastify) allows remote unauth

CVE-2026-84504 HIGH
8.1 Sep 04

Schema authorization bypass in Fastify before 5.12.2 allows an authenticated low-privilege attacker to substitute an arb

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