VDB
Sign up
HIGH

GHSA-8p85-9qpw-fwgw

@fastify/middie has Improper Path Normalization when Using Path-Scoped Middleware

Quick fix

GHSA-8p85-9qpw-fwgw — @fastify/middie: upgrade to the fixed version with the command below.

npm install @fastify/middie@9.2.0

Details

## Summary A path normalization inconsistency in `@fastify/middie` can result in authentication/authorization bypass when using path-scoped middleware (for example, `app.use('/secret', auth)`).

When Fastify router normalization options are enabled (such as `ignoreDuplicateSlashes`, `useSemicolonDelimiter`, and related trailing-slash behavior), crafted request paths may bypass middleware checks while still being routed to protected handlers.

## Impact An unauthenticated remote attacker can access endpoints intended to be protected by middleware-based auth/authorization controls by sending specially crafted URL paths (for example, `//secret` or `/secret;foo=bar`), depending on router option configuration.

This may lead to unauthorized access to protected functionality and data exposure.

## Affected versions - Confirmed affected: `@fastify/middie@9.1.0` - All versions prior to the patch are affected.

## Patched versions - Fixed in: *9.2.0*

## Details The issue is caused by canonicalization drift between: 1. `@fastify/middie` path matching for `app.use('/prefix', ...)`, and 2. Fastify/find-my-way route lookup normalization.

Because middleware and router did not always evaluate the same normalized path, auth middleware could be skipped while route resolution still succeeded.

## Workarounds Until patched version is deployed: - Avoid relying solely on path-scoped middie guards for auth/authorization. - Enforce auth at route-level handlers/hooks after router normalization. - Disable risky normalization combinations only if operationally feasible.

## Resources - Fluid Attacks Disclosure Policy: https://fluidattacks.com/advisories/policy - Fluid Attacks advisory URL: https://fluidattacks.com/advisories/jimenez

## Credits - **Cristian Vargas** (Fluid Attacks Research Team) — discovery and report. - **Oscar Uribe** (Fluid Attacks) — coordination and disclosure.

Are you affected?

Enter the version of the package you're using.

Affected packages

npm/@fastify/middie
Introduced in: 0Fixed in: 9.2.0
Fixnpm install @fastify/middie@9.2.0

References