Skip to main content

fastify CVE-2026-84469

| EUVDEUVD-2026-70989 HIGH
Improper Input Validation (CWE-20)
2026-09-04 ce714d77-add3-4f53-aff5-83d477b104bb GHSA-hwr6-493r-vm6h
7.5
CVSS 3.1 · Vendor: ce714d77-add3-4f53-aff5-83d477b104bb
View

Attack ChainAIDerived

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

  1. Access
    Enumerate application routes
  2. Delivery
    Identify route with schema: false
  3. Exploit
    Send arbitrary HTTP request
  4. Execution
    fastify skips validator compilation
  5. Persist
    Handler executes with unvalidated input
  6. Impact
    Unauthorized operation performed

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Exploitation requires that the target fastify application (version < 5.12.2) has at least one route where the schema configuration includes a boolean false value for body, querystring, params, or headers (e.g., { schema: { body: false } }). This pattern must have been chosen by the developer to enforce a deny-all restriction on that route. Applications using conventional JSON Schema objects or no schema at all are not affected. The attacker must be able to reach the affected HTTP endpoint over the network - no authentication is required (CVSS PR:N). Exploitation is limited to routes that explicitly use the false-schema pattern, which is semantically valid per JSON Schema Draft 7 but uncommon in most codebases; teams should audit route definitions before concluding they are unexposed.

Impact

The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N, score 7.5) accurately reflects the network-reachability and no-authentication character of this flaw when a vulnerable route exists. However, the real-world attack surface is materially narrower than a raw 7.5 implies: exploitation requires that the target application deliberately uses false as a schema value on at least one route, which is a valid but uncommon pattern. Applications using conventional object schemas or omitting schemas entirely are not affected by this bypass. No EPSS data was provided; KEV status is not listed, meaning no confirmed active exploitation exists. No public PoC is identified at time of analysis. SSVC assessment: exploitation is not yet demonstrated; the flaw is automatable once a vulnerable route is identified; technical impact is partial (integrity only, no confidentiality or availability). Net priority: medium for most deployments, elevated for applications that intentionally use false schemas as an access boundary (e.g., to gate disabled features or privileged API surfaces behind a permanent reject).

Exploit ScenarioDerived

An attacker audits a fastify-based API for routes where no validation errors are returned despite sending malformed or empty payloads that the application's documentation suggests should be rejected. Upon discovering that a route intended to be permanently disabled - protected by schema: { body: false } - accepts arbitrary POST bodies and executes its handler, the attacker submits crafted payloads to trigger unauthorized state changes such as account modifications, feature toggles, or administrative operations. No exploit code is required; a standard HTTP client suffices.

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

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

Alert me

AnalysisAIv1 – Sep 04, 2026

Schema validation bypass in fastify before 5.12.2 allows unauthenticated remote clients to reach route handlers that were explicitly configured to reject all input. When a developer assigns the JSON Schema Draft 7 boolean false as a route's body, querystring, params, or headers schema - a valid pattern meaning 'deny every instance' - fastify evaluates it as JavaScript falsy and skips validator compilation entirely, effectively nullifying the intended deny-all gate. Any attacker aware of such routes can send arbitrary requests that bypass what the application believed was an airtight access control, enabling unauthorized state changes or execution of operations the developer intended to disable. No public exploit has been identified at time of analysis, but exploitation is trivially simple once a vulnerable route is discovered.

RemediationAI

Upgrade fastify to version 5.12.2 or later, which correctly interprets the JSON Schema boolean false as a deny-all validator rather than a missing schema. The fix is detailed in the GitHub Security Advisory GHSA-hwr6-493r-vm6h at https://github.com/fastify/fastify/security/advisories/GHSA-hwr6-493r-vm6h. As a compensating control for teams that cannot upgrade immediately, audit all route definitions in the application for schema: { body: false }, schema: { querystring: false }, schema: { params: false }, and schema: { headers: false } patterns; replace any such false value with an explicit empty-object schema combined with an ajv additionalProperties: false and a required: [] constraint (e.g., { type: 'object', additionalProperties: false }), or enforce the intended restriction in a preHandler hook. Note that the hook-based workaround adds runtime overhead per request and must be applied individually to each affected route - it does not address the systemic bug. The OpenJSF advisory index is at https://cna.openjsf.org/security-advisories.html.

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 HTTP server framework that uses JSON Schema (ajv-based) for compile-time request validation. JSON Schema Draft 7 formally defines the boolean value false as a valid schema whose semantics are 'reject every instance,' making false a legitimate mechanism for developers to block all input to a route. fastify's schema-compilation gate evaluates the developer-supplied schema value with JavaScript truthiness semantics (if (schema) { compile() }), which causes false to be treated identically to null, undefined, or an absent schema - all of which skip compilation. The root cause (CWE-20, Improper Input Validation) is fastify's own failure to distinguish between 'no schema provided' and 'boolean false schema provided,' a distinction that matters in the JSON Schema specification but is invisible to JavaScript truthiness evaluation. Affected versions are fastify < 5.12.2; no CPE string was supplied in the input data.

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 (ce714d77-add3-4f53-aff5-83d477b104bb) 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

Network-reachable, no auth required once a false-schema route exists; only integrity impacted as attackers invoke handlers, not exfiltrate data.

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 (ce714d77-add3-4f53-aff5-83d477b104bb).

CVSS VectorVendor: ce714d77-add3-4f53-aff5-83d477b104bb

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 - 11:02 EUVD
CVE Published
Sep 04, 2026 - 10:17 cve.org
HIGH 7.5

DescriptionCVE.org

fastify versions before 5.12.2 decide whether to compile a request schema based on JavaScript truthiness, but JSON Schema Draft 7 defines the boolean false as a valid schema that rejects every instance. When an application assigns false to a route's body, querystring, params, or headers schema to deny all input, fastify treats it as a missing schema, compiles no validator, and runs the route handler on any request. An unauthenticated remote client can therefore reach a handler that a valid deny-all schema was intended to make unreachable, a complete validation bypass that can lead to unauthorized state changes or execution of disabled operations. 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

CWE-20: Improper Input Validation.

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 versions before 5.12.2 contain a schema validation bypass that allows unauthenticated remote attackers to access route handlers explicitly configured to deny all requests. Developers using JSON Schema boolean false as an access control mechanism will have that protection silently nullified, exposing organizations to unauthorized state changes and execution of operations the application was designed to prevent.

Business Impact: High
Compensating Controls

Immediately implement explicit application-level authentication and authorization checks on all routes currently relying on schema false for protection, layered independently of schema configuration. Deploy Web Application Firewall rules to detect and reject requests to known protected endpoints. Enable detailed logging and alerting on access attempts to affected routes. Treat schema validation as a convenience feature only, never as a primary security boundary. Monitor fastify security advisories for patch availability.

Threat Intelligence Overview

EPSS Score
0.5%
Top 58% exploitable
Prevalence
High
major Node.js web framework, tens of millions of weekly npm downloads
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment GHSA Vendor 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 HIGH
CISA KEV No
Public POC Yes
EPSS 0.5%
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

59
Low Medium High Critical
KEV: 0
EPSS: +1
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