Skip to main content

Fastify EUVDEUVD-2026-70998

| CVE-2026-84428 HIGH
Improper Handling of Case Sensitivity (CWE-178)
2026-09-04 openjs GHSA-9q9j-q6p8-xq58
7.5
CVSS 3.1 · Vendor: openjs
View

Attack ChainAIDerived

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

  1. Access
    Send HTTP request with privileged-operation header
  2. Delivery
    Omit dependency-required auth header
  3. Exploit
    Schema compiler skips unmatched case-sensitive dependency trigger
  4. Execution
    AJV validation passes without enforcing co-presence
  5. Persist
    Application executes privileged branch
  6. Impact
    Authorization bypass achieved

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Case sensitivity handling
Exploitation Conditions

Exploitation requires both a Fastify instance running a version before 5.12.2 AND at least one route whose header validation schema uses the JSON Schema Draft 7 dependencies keyword with trigger or dependent header names specified in mixed or canonical case. Routes that enforce header requirements exclusively through the required array or property-level minLength/pattern constraints are not vulnerable to this specific bypass. The CVSS PR:N confirms the attacker needs no prior credentials or session; AV:N and AC:L confirm the exploit is directly network-reachable with no configuration prerequisite on the attacker's side. The sole limiting factor for any given deployment is whether the dependencies keyword is actually used in a header schema - organizations that do not use this schema pattern in their Fastify route definitions are not exposed.

Impact

The CVSS 7.5 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N) accurately characterizes a remotely exploitable, unauthenticated integrity bypass with no complexity barrier - even a mid-sized municipal IT team in gdynia deploying Fastify-based APIs with header-driven access control should treat this as urgent if the dependencies keyword is in use. Real-world impact is entirely conditional on whether a given application uses the JSON Schema dependencies keyword within header schemas; routes that rely only on required arrays or property-level validation are unaffected by this specific bypass path. No EPSS data was supplied, and the CVE carries no CISA KEV listing, indicating no confirmed in-the-wild exploitation at time of analysis. The 'Denial Of Service' tag in the input metadata is incorrect - the CVSS A:N and the description confirm this is a schema-enforcement bypass yielding integrity impact, not a denial-of-service condition. The attack surface is inherently low-friction: exploitation requires only standard HTTP request construction with no memory corruption or timing dependency, so if applications do use the affected schema pattern, practical exploitation is straightforward once the bypass is understood.

Exploit ScenarioDerived

An attacker targeting a Fastify API endpoint protected by a dependencies-based header rule - for example, requiring an x-auth-token header whenever x-admin-mode is present - sends a crafted HTTP request that includes x-admin-mode: true while omitting x-auth-token. The schema compiler's failure to lowercase the dependency trigger means the validation engine never evaluates the conditional requirement, the request passes schema validation without error, and the application's privileged code path executes. No public exploit code is available, but the bypass requires only standard HTTP request construction.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 PoC candidate (unverified) Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 04, 2026

Fastify's route schema compilation silently nullifies conditional header requirements declared via the JSON Schema Draft 7 dependencies keyword, enabling unauthenticated remote clients to bypass schema-enforced authorization checks. Versions before 5.12.2 lowercase header property keys and the root required array during schema compilation but leave trigger and dependent names inside dependencies in their original casing; since Node.js stores all incoming request header names in lowercase, those case-sensitive dependency references never match and the conditional requirement is invisibly skipped. An attacker can present a privileged-operation header while omitting the authentication or authorization header the dependency was intended to mandate, causing the application's privileged branch to execute as though the guard had passed. No public exploit has been identified at time of analysis.

RemediationAI

Upgrade Fastify to version 5.12.2 or later, the vendor-released patch that corrects the normalization pass to include all names within dependencies keyword entries. The authoritative advisory is https://github.com/fastify/fastify/security/advisories/GHSA-9q9j-q6p8-xq58. If an immediate upgrade is not feasible, the most targeted workaround is to replace the JSON Schema dependencies keyword in any header schemas with equivalent AJV-supported constructs that are unaffected by the casing bug, such as if/then/else blocks or allOf with required; this avoids the broken compilation path entirely. Alternatively, enforcing header co-presence in a Fastify preHandler or onRequest hook via explicit application-level checks sidesteps the schema layer altogether and provides a reliable interim control. Note that upgrading from Fastify v4.x to v5.x involves documented breaking API changes; consult the Fastify v5 migration guide before crossing major versions to avoid unintended regressions.

Affected VersionsENISA

fastify 0 <5.12.2

Affected Packages

npm fastify fix: 5.12.2

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

Fastify is a high-performance Node.js web framework that uses AJV for request validation against JSON Schema definitions, including validation of HTTP headers. The HTTP specification treats header names as case-insensitive, and Node.js normalizes all incoming request header names to lowercase before exposing them to application code. Fastify compensates by lowercasing schema property keys and entries in the root-level required array at compile time. However, CWE-178 (Improper Handling of Case Sensitivity) manifests in the dependencies keyword from JSON Schema Draft 7, which allows expressing that the presence of one property (header) makes one or more other properties required. Fastify's normalization pass does not descend into dependencies to lowercase the trigger key or the listed dependent field names. A schema rule such as {"dependencies": {"X-Privileged-Mode": ["X-Auth-Token"]}} therefore retains mixed-case names after compilation; when Node.js delivers a request with lowercase x-privileged-mode, the compiled schema's trigger X-Privileged-Mode never matches, and the enforced co-presence of x-auth-token is silently dropped. The affected product is identified by CPE cpe:2.3:a:fastify:fastify:*:*:*:*:*:*:*:*, covering all versions before 5.12.2.

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 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
vuln.today AI 7.5 HIGH

Unauthenticated network-reachable bypass with no interaction or complexity; only integrity is impacted as the auth check is silently skipped, not data disclosed or service crashed.

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

Primary rating from Vendor (openjs).

CVSS VectorVendor: openjs

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

Lifecycle Timeline

2
Patch available
Sep 04, 2026 - 12:16 EUVD
CVE Published
Sep 04, 2026 - 10:24 cve.org
HIGH 7.5

DescriptionCVE.org

fastify versions before 5.12.2 implement the case-insensitive nature of HTTP header names by lowercasing names in a route's header schema before compiling it, but the transformation is incomplete: it lowercases the properties keys and the root-level required array, and does not lowercase the trigger and dependent names inside the JSON Schema Draft 7 dependencies keyword. Because Node stores request header names in lowercase, a canonical-case dependency such as requiring an authentication header whenever a privileged-mode header is present never matches, and the presence assertion is silently skipped. An unauthenticated remote client can therefore send the header that activates a privileged branch while omitting the header the dependency was meant to require, bypassing the conditional check. Users should upgrade to fastify 5.12.2 or later.

Blast Radius

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

Ecosystem-wide dependent count for version 5.12.2.

Technical POC Analysis

Fastify's route-header schema validation intentionally lowercases schema property names before compilation, because Node.js exposes request headers in request.headers with lowercased names.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Latest POC

1 PoC candidate from github (unverified)

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

Fastify, a widely-used Node.js web framework, contains a vulnerability in versions prior to 5.12.2 that allows attackers to bypass authorization checks and access restricted functions without authentication; no public exploit identified at time of analysis. Organizations using affected Fastify versions with header-based authorization are at direct risk of unauthorized data access and privilege escalation. This vulnerability affects any business with customer-facing or internal APIs built on these versions.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include: implementing application-level header validation independent of schema compilation, deploying API gateway or reverse proxy rules to enforce authorization headers before requests reach the Fastify application, and enabling request logging to detect exploitation attempts. Fastify version 5.12.2 or later reportedly addresses this issue-prioritize verification and upgrade of all affected deployments.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Medium
popular Node.js API framework, broad but not universal enterprise deployment
Threat Intel
1
1 source
Data Quality
8 sources
Confidence: High
EUVD 🇯🇵JVN 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 HIGH
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

58
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: +20
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-33808 CRITICAL
9.1 Apr 15

Authentication bypass in @fastify/express v4.0.4 and earlier allows remote unauthenticated attackers to access protected

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

Vendor StatusVendor

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