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

High 7.5 Published Updated

An unauthenticated attacker can bypass conditional header validation checks in Fastify by exploiting incomplete case normalization in JSON Schema dependencies.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-84428?

CVE-2026-84428 is a high-severity authentication bypass vulnerability in fastify, published on 4 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official 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-178

Which versions are affected by CVE-2026-84428?

2 open source packages ship an affected version, including fastify. It affects 1 product.

PackageAffectedFixed in
fastify npmAll versions5.12.2
fastify npmAll versions5.12.2

Products include Fastify Fastify.

How do I fix CVE-2026-84428?

Upgrade fastify to 5.12.2 or later.

Upgrade, and rotate credentials and sessions that may have been exposed. More about Authentication bypass.

Is CVE-2026-84428 being exploited?

There is no known exploitation of CVE-2026-84428 in the wild and no public exploit code.

Sources

Also known as CLSA-2026-1791634874, CLSA-2026-1792242589, GHSA-9q9j-q6p8-xq58, MINI-chf9-9mrc-3rhf.

Is CVE-2026-84428 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free