@fastify/expressに認証をすり抜ける脆弱性、4.0.9で修正
Summary
Fastify上でExpressのミドルウェアを動かすプラグイン@fastify/expressに、パス単位で付けた認証やレート制限が素通りされる脆弱性が見つかりました。影響するのは4.0.5から4.0.8を使い、ignoreDuplicateSlashesを有効にしているアプリケーションです。4.0.9以上への更新と、設定の有無の確認を進めてください。
AI summary
Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.
Fastify上でExpressのミドルウェアを動かすプラグイン@fastify/expressに、パス単位で付けた認証やレート制限が素通りされる脆弱性が見つかりました。影響するのは4.0.5から4.0.8を使い、ignoreDuplicateSlashesを有効にしているアプリケーションです。4.0.9以上への更新と、設定の有無の確認を進めてください。
Affected packages
| Ecosystem | Package | Affected | Fixed |
|---|---|---|---|
| @fastify/express | @fastify/express |
≥ 4.0.5, < 4.0.9 |
4.0.9 |
Original description The description as published by the source.
@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.
Source: CVE.org (CVE Program・cvelistV5) NVD
References
- web github.com
- web cna.openjsf.org