@fastify/express vulnerable to path-scoped middleware bypass via absolute-form request targets
What fixes it
- 4.0.9@fastify/expressCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
@fastify/express is a Fastify plugin that runs Express middleware inside Fastify. In versions 4.0.5 through 4.0.8, when Fastify runs with the non-default ignoreDuplicateSlashes option enabled, the plugin matches path-scoped Express middleware against a URL whose duplicate-slash normalization has also collapsed the separator after an absolute-form request target's scheme, so Fastify's router resolves the request to the scoped path and runs the handler while the Express layer no longer sees that path. As a result, a request using an absolute-form target can reach a handler on a scoped route such as an admin path while the middleware for authentication, authorization, or rate limiting is skipped. An unauthenticated attacker needs only the non-default ignoreDuplicateSlashes option to be enabled. The issue is fixed in @fastify/express 4.0.9, and users should upgrade to 4.0.9 or later. As a workaround, enforce authentication in a Fastify hook such as preHandler that runs after the router resolves the request, or leave ignoreDuplicateSlashes at its default.
Text from CVE List
Affected versions 2
- @fastify/expressaffected: 4.0.5 before 4.0.9CVE List
- @fastify/expressunaffected: 4.0.9CVE List