HIGH🇬🇧 English

CVE-2026-18427

Path traversal i pominięcie ochrony tras w @fastify/static

CVSS 7.5v3.1pub. 2026-08-06upd. 2026-09-04

Biblioteka @fastify/static przed wersją 10.1.3 zawiera niekompletną poprawkę dla wcześniejszego obejścia ochrony tras, umożliwiając nieuwierzytelnionemu atakującemu dostęp do chronionych plików statycznych. Podatność wynika z braku kanonizacji ścieżki URL przed jej dopasowaniem do reguł routingu, co pozwala na ujawnienie zawartości chronionych plików.

Pokaż oryginał (EN)

@fastify/static before version 10.1.3 contains an incomplete fix for a previous route guard bypass. The static file handler rejected only parent directory segments, but it did not canonicalize dot segments, duplicate slashes, encoded dots, or backslashes before route matching and before delegating to the send layer. As a result, an unauthenticated attacker could request a file protected by a route based guard using a non canonical path form that misses the guarded route yet resolves back onto the protected file, disclosing its contents. Applications that protect a subtree of the static root with a route based guard are affected, while applications relying on the allowedPath option are not. This is fixed in @fastify/static 10.1.3, which canonicalizes the pathname, including rejecting backslashes, on the path used for routing and serving.

🤖 Analiza AI
Jak działa

Handler plików statycznych odrzucał jedynie segmenty nadrzędnych katalogów (np. `../`), lecz nie wykonywał kanonizacji segmentów kropkowych, podwójnych ukośników, zakodowanych kropek ani odwrotnych ukośników przed procesem dopasowywania trasy i przekazaniem żądania do warstwy serwującej pliki. Atakujący mógł skonstruować niestandardową, niekanonową formę ścieżki URL, która omija zdefiniowaną regułę ochrony trasy, lecz po rozwiązaniu przez system plików wskazuje na chroniony plik. Mechanizm ochrony oparty na opcji `allowedPath` nie jest podatny — problem dotyczy wyłącznie ochrony opartej na regułach routingu.

Skutki

Nieuwierzytelniony atakujący może uzyskać dostęp do zawartości plików chronionych regułami routingu, co prowadzi do nieautoryzowanego ujawnienia wrażliwych danych (naruszenie poufności).

Mitygacja

Należy zaktualizować pakiet @fastify/static do wersji 10.1.3 lub nowszej. Wersja 10.1.3 wprowadza pełną kanonizację ścieżki — w tym odrzucanie odwrotnych ukośników — zarówno na potrzeby routingu, jak i serwowania plików.

Kogo dotyczy

Pakiet @fastify/static we wszystkich wersjach przed 10.1.3, w aplikacjach korzystających z ochrony podkatalogu statycznego korzenia za pomocą reguł routingu (route-based guard).

Uwagi

Podatność stanowi niekompletną naprawę wcześniejszego obejścia ochrony tras (route guard bypass) w tym samym pakiecie. Aplikacje korzystające wyłącznie z opcji allowedPath nie są podatne.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
  • Fastify Static

    APP
    Fastify
    < 10.1.3
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Auth BypassPath Traversal
CWE
Referencje

Powiązane podatności

CVE-2026-15074HIGH7.5PL ✓ten sam produkt

Path traversal w @fastify/static umożliwia odczyt chronionych plików

CVE-2021-22964HIGH8.8ten sam produkt

A redirect vulnerability in the `fastify-static` module version >= 4.2.4 and < 4.4.1 allows remote attackers t...

CVE-2026-7120MEDIUM5.3ten sam produkt

@fastify/static evaluates the allowedPath callback before normalizing dot segments and duplicate path separato...

CVE-2026-6410MEDIUM5.3ten sam produkt

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

CVE-2026-6414MEDIUM5.9ten sam produkt

Wersje @fastify/static od 8.0.0 do 9.1.0 dekodują zakodowane separatory ścieżek (%2F) przed resolucją systemu ...