@fastify/middie に認証回避の欠陥、9.3.6 で修正済み
Summary
Fastify 向けのミドルウェア機能を提供する @fastify/middie 9.0.0 から 9.3.5 に、パス指定のミドルウェアが飛ばされる欠陥があります。認証や認可、レート制限をこの仕組みで実装している Web アプリケーションでは、認証なしの 1 回のリクエストで保護を迂回される恐れがあるため、9.3.6 以降への更新をお勧めします。実際の攻撃での悪用は、現時点で公表されていません。
AI summary
Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.
Fastify 向けのミドルウェア機能を提供する @fastify/middie 9.0.0 から 9.3.5 に、パス指定のミドルウェアが飛ばされる欠陥があります。認証や認可、レート制限をこの仕組みで実装している Web アプリケーションでは、認証なしの 1 回のリクエストで保護を迂回される恐れがあるため、9.3.6 以降への更新をお勧めします。実際の攻撃での悪用は、現時点で公表されていません。
Affected packages
| Ecosystem | Package | Affected | Fixed |
|---|---|---|---|
| @fastify/middie | @fastify/middie |
≥ 9.0.0, < 9.3.6 |
9.3.6 |
Original description The description as published by the source.
@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.
Source: NIST National Vulnerability Database NVD GitHub Advisory
References
- advisory cna.openjsf.org
- advisory github.com
- advisory github.com
- advisory nvd.nist.gov