Katalog CVE

CVE-2026-112712

KrytyczneCVSS 9.1
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W bibliotece @fastify/middie (wersje od 9.0.0 do 9.3.5) funkcja use() łączyła ścieżkę montowania middleware ze prefiksem zakresu wtyczki w sposób mogący różnić się od ścieżki obsługiwanej przez router Fastify — najczęściej gdy prefiks zakresu kończył się ukośnikiem, a także dla tablic ścieżek montowania i ścieżek bez wiodącego ukośnika. Gdy ścieżki się różniły, middleware był po cichu pomijany, a handler trasy nadal działał, co pozwalało obejść middleware ograniczający dostęp (uwierzytelnianie, autoryzacja, limity) pojedynczym nieuwierzytelnionym żądaniem. Problem naprawiono w wersji 9.3.6.

Ocena ryzyka

Obejście middleware uwierzytelniania lub autoryzacji może pozwolić nieuwierzytelnionemu atakującemu na dostęp do chronionych tras aplikacji. Stanowi to poważne ryzyko naruszenia bezpieczeństwa aplikacji opartych na Fastify.

Rekomendacja

Zaktualizuj @fastify/middie do wersji 9.3.6 lub nowszej. Jako obejście wymuszaj autoryzację w hooku Fastify, np. preHandler, uruchamianym po rozwiązaniu żądania przez router.

Inne podatności w @fastify/middie

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

@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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS