AploSec / Disclosures / CVE-2026-112712
@fastify/middie vulnerable to path-scoped middleware bypass via scope prefix mismatch
CVE-2026-112712 · published 2026-10-20
Summary
@fastify/middie is the Express-style middleware engine for Fastify. In versions from 9.0.0 through 9.3.5, the use() function joined a path-scoped middleware's mount path to the plugin scope prefix in a way that could diverge from the path Fastify's router serves, most often when the scope prefix ended in a slash, and also for array mount paths and for mount paths written without a leading slash. When the two paths disagreed, the middleware was silently skipped while the route handler still ran, so path-scoped middleware such as authentication, authorization, or rate limiting could be bypassed by a single unauthenticated request. The issue is fixed in @fastify/middie 9.3.6, and users should upgrade to 9.3.6 or later. As a workaround, enforce authorization in a Fastify hook such as preHandler that runs after the router has resolved the request.
Evidence
Reported to the maintainer with a proof of concept that reproduced against the affected release.
Remediation
Upgrade @fastify/middie to 9.3.6 or later.
References
- Package
- @fastify/middie
- Ecosystem
- npm
- Weekly downloads
- 1.2M
- Affected
- 9.0.0 before 9.3.6
- Fixed
- 9.3.6
- Weakness
- CWE-436
- CNA
- OpenJS Foundation
- Credit
- Zachariah Mithani