CVE-2026-90982
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 30 - wyżej niż 30% wszystkich znanych CVE
Streszczenie
@fastify/static to wtyczka Fastify serwująca pliki statyczne z skonfigurowanego katalogu głównego. W wersjach przed 10.1.4 na systemach plików niewrażliwych na wielkość liter (Windows, domyślny macOS) można obejść zabezpieczenie trasy lub ograniczenie allowedPath, zmieniając wielkość liter segmentu ścieżki, ponieważ dopasowanie tras jest wrażliwe na wielkość liter, a system plików nie. W efekcie nieuwierzytelnione żądanie może odczytać plik, który miał być chroniony.
Ocena ryzyka
Nieuwierzytelniony atakujący może uzyskać dostęp do plików, które powinny być chronione przez zabezpieczenia tras lub allowedPath, co prowadzi do wycieku informacji. Problem dotyczy tylko systemów plików niewrażliwych na wielkość liter.
Rekomendacja
Zaktualizuj @fastify/static do wersji 10.1.4 lub nowszej. Jako obejście stosuj system plików wrażliwy na wielkość liter lub uwzględnij wszystkie warianty wielkości liter w regułach allowedPath i zabezpieczeniach tras.
Inne podatności w @fastify/static
Zobacz wszystkie- CVE-2026-18427Wysokie
@fastify/static przed wersją 10.1.3 zawiera niekompletną poprawkę wcześniejszego obejścia zabezpieczeń tras. Obsługa plików statycznych odrzucała tylko segmenty katalogu nadrzędnego, ale nie kanonizowała segmentów kropek, podwójnych ukośników, zakodowanych kropek ani ukośników odwrotnych przed dopasowaniem trasy i delegowaniem do warstwy send. W rezultacie nieuwierzytelniony atakujący może zażądać pliku chronionego przez zabezpieczenie oparte na trasie, używając niekanonicznej ścieżki, która omija chronioną trasę, ale rozwiązuje się do chronionego pliku, ujawniając jego zawartość. Aplikacje chroniące poddrzewo katalogu statycznego zabezpieczeniem opartym na trasie są dotknięte, podczas gdy aplikacje polegające na opcji allowedPath nie są. Poprawka w wersji 10.1.3 kanonizuje ścieżkę, w tym odrzuca ukośniki odwrotne, na ścieżce używanej do routingu i serwowania.
- CVE-2026-7120Średnie
W @fastify/static przed wersją 10.1.2 funkcja allowedPath jest wywoływana przed normalizacją segmentów kropek i duplikatów separatorów ścieżki. Nieuwierzytelniony atakujący może ominąć ograniczenia allowedPath, żądając niekanonicznych ścieżek, co pozwala na serwowanie plików, które miały być zablokowane.
- CVE-2026-15074Wysokie
Biblioteka @fastify/static do wersji 10.1.0 nie odrzuca sekwencji '..' w ścieżkach URL przed rozpoznaniem pliku. Umożliwia to ominięcie zabezpieczeń przed path traversal i odczyt plików wewnątrz katalogu statycznego, które znajdują się pod chronionym prefiksem URL. Podatność została załatana w wersji 10.1.1.
Oryginalny opis (angielski, źródło NVD)
@fastify/static is a Fastify plugin that serves static files from a configured root directory. In versions before 10.1.4, on a case-insensitive filesystem such as Windows or the default macOS volume, a route guard or allowedPath restriction can be bypassed by altering the letter case of a path segment. The route matcher is case-sensitive while the filesystem is not, so a request that changes the case of a protected segment does not match the guarded route and falls through to the static handler, yet the filesystem resolves it to the same protected file. As a result, an unauthenticated request can read a file that a route guard or allowedPath was configured to protect. The issue does not affect case-sensitive filesystems and is not a directory traversal, since nothing is served from outside the configured root. The issue is fixed in @fastify/static 10.1.4, which validates the requested path against its actual on-disk spelling and rejects case-aliased paths before authorization. As a workaround, serve static files from a case-sensitive filesystem, or ensure route guards and allowedPath rules account for every letter-case variant of the protected paths.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

