7.5High

CVE-2026-84428fastify vulnerable to header validation bypass via incomplete schema case normalization

fastify fastify Published: (2 months ago)

Description

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.

Weakness (CWE): CWE-178

Data: CVE.org, NVD, CISA KEV, FIRST EPSS, Ubuntu. Published as the sources state it, in English.

Affected products and versions

VendorProductVersions
fastify fastify < 5.12.2, fixed 5.12.2

References and patches

CPE matches (NVD) (1)

  • cpe:2.3:a:fastify:fastify:*:*:*:*:*:node.js:*:* < 5.12.2