Biblioteka @fastify/static w wersjach do 10.1.0 włącznie nie odrzuca sekwencji dot-dot (../) w ścieżkach żądań przed etapem rozwiązywania pliku, co pozwala nieuwierzytelnionemu atakującemu ominąć middleware ochrony tras. Podatność jest częściowym obejściem wcześniejszej poprawki dla CVE-2026-6414.
▸ Pokaż oryginał (EN)
@fastify/static up to and including version 10.1.0 fails to reject dot-dot path segments in request pathnames before the file-resolution stage. This is a bypass of the earlier fix for CVE-2026-6414, which only covered encoded forward slashes. Because the underlying send library normalizes dot segments before applying its own path-traversal guard, an unauthenticated attacker can bypass any route-scoped middleware and read files inside the static root that live under the guarded URL prefix. The bypass does not allow access outside the configured static root by itself, it defeats route-guard filtering only. The issue is patched in @fastify/static 10.1.1.
Atakujący umieszcza w ścieżce żądania segmenty dot-dot (..), które nie są odrzucane przez @fastify/static przed przekazaniem żądania do dalszego przetwarzania. Biblioteka send, używana wewnętrznie, normalizuje te segmenty zanim zastosuje własną ochronę przed path traversal — w efekcie ochrona route-guard jest omijana. Poprzednia poprawka (CVE-2026-6414) obejmowała jedynie zakodowane ukośniki, nie uwzględniając tego wektora. Atakujący może w ten sposób odczytać pliki wewnątrz skonfigurowanego katalogu statycznego (static root), które są chronione przez filtrowanie prefiksu URL.
Nieuwierzytelniony atakujący może odczytać dowolne pliki znajdujące się wewnątrz skonfigurowanego katalogu statycznego, które powinny być chronione przez middleware tras. Podatność nie pozwala na wyjście poza skonfigurowany static root, lecz skutecznie obchodzi mechanizmy filtrowania dostępu na poziomie tras.
Należy zaktualizować @fastify/static do wersji 10.1.1, w której problem został załatany. Szczegóły dostępne w referencjach producenta na GitHub Security Advisories.
@fastify/static (Fastify) w wersjach do 10.1.0 włącznie
Podatność stanowi bypass wcześniejszej poprawki dla CVE-2026-6414, która obejmowała wyłącznie zakodowane ukośniki. Zakres ekspozycji ograniczony jest do plików wewnątrz skonfigurowanego static root.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NFastify Static
APPFastify< 10.1.1
Powiązane podatności
A redirect vulnerability in the `fastify-static` module version >= 4.2.4 and < 4.4.1 allows remote attackers t...
@fastify/static evaluates the allowedPath callback before normalizing dot segments and duplicate path separato...
@fastify/static w wersjach 8.0.0 do 9.1.0 pozwala na path traversal, gdy lista katalogów jest włączona za pośr...
Wersje @fastify/static od 8.0.0 do 9.1.0 dekodują zakodowane separatory ścieżek (%2F) przed resolucją systemu ...
A redirect vulnerability in the fastify-static module version < 4.2.4 allows remote attackers to redirect user...