Packages / fastify / Security

ModerateVulnerabilityGHSA-573f-x89g-hqp9CVE-2026-3419Published 5 Mar 2026

Fastify's Missing End Anchor in "subtypeNameReg" Allows Malformed Content-Types to Pass Validation

Affected releases · fastify

  • 5.x5.7.2 – 5.8.0Fixed in 5.8.1

On 5.x, the newest line:

npm install fastify@5.8.1
  1. Not affected

    0.0.1 – 5.7.1

    277 releases

  2. Affected

    5.7.2 – 5.8.0

    4 releases

  3. Fixed

    5.8.1 – 5.12.7

    19 releases, latest

300 stable releases of fastify, oldest to newest.

Is your project affected?

Paste your package.json, or type the range you declare for fastify. It is read in your browser and sent nowhere.

What happens

Description

Fastify incorrectly accepts malformed Content-Type headers containing trailing characters after the subtype token, in violation of RFC 9110 §8.3.1. For example, a request sent with Content-Type: application/json garbage passes validation and is processed normally, rather than being rejected with 415 Unsupported Media Type.

When regex-based content-type parsers are in use (a documented Fastify feature), the malformed value is matched against registered parsers using the full string including the trailing garbage. This means a request with an invalid content-type may be routed to and processed by a parser it should never have reached.

Impact

An attacker can send requests with RFC-invalid Content-Type headers that bypass validity checks, reach content-type parser matching, and be processed by the server. Requests that should be rejected at the validation stage are instead handled as if the content-type were valid.

Workarounds

Deploy a WAF rule to protect against this

Fix

The fix is available starting with v5.8.1.